Пишет ли PHP файл

1

Я попытался выполнить поиск, но до сих пор не знаю решения, для моего следующего кода PHP.

<?php
    $city="Budapest"; // Your city
    $country="hu"; // Two digit country code
    $url="http://api.openweathermap.org/data/2.5/weather?q=".$city.",".$country."&appid=2de143494c0b295cca9337e1e96b00e0&units=metric";
    $json=file_get_contents($url);
    $data=json_decode($json,true);
    $file = '/home/cs2d/sys/lua/weather.dat';
    $current = file_get_contents($file);
    $current .= $data['weather'][0]['main']."\n".$data['main']['temp']."\n";
    // Write the contents back to the file
    file_put_contents($file, $current);
?>

Как вы видите, это простой код, который записывает значения в файл weather.dat. Но как сделать так, чтобы его просто обновляли линии вместо добавления нового.

Есть идеи?

  • 0
    Есть ли ошибка в этом скрипте?
  • 0
    Нет, ничего Туман 5 Облака 5 Туман 5 Туман 5 Туман 5 Туман 5 Туман 5 Туман 5 Туман 5 Туман 5 Туман 5 Туман 5 Просто добавь новостные строки вместо того, чтобы заменить первые две.
Показать ещё 7 комментариев
Теги:

1 ответ

0
Лучший ответ

Это работает:

$city="Budapest"; // Your city
$country="hu"; // Two digit country code
$url="http://api.openweathermap.org/data/2.5/weather?q=".$city.",".$country."&appid=2de143494c0b295cca9337e1e96b00e0&units=metric";
$json=file_get_contents($url);
$data=json_decode($json,true);
$file = 'weather.dat';

$current = file_get_contents($file);
$contents = file_get_contents($file);
echo $current;
$contents = str_replace($current, ' ', $contents);
echo $contents;

file_put_contents($file,$contents);
$current = file_get_contents($file);
$current .= $data['weather'][0]['main']."\n".$data['main']['temp']."\n";
// Write the contents back to the file
file_put_contents($file, $current);
  • 0
    Не хотел просто заработать репутацию. Я подумал, что это хорошее решение его вопроса.
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню