@DVoropaev
Ставлю + к карме на хабре за ответы на вопросы

Почему не работает запись в файл на php?

$fp = fopen("data.txt", "r");
    $fp2 = fopen("data2.txt", "w");
    $arr = array();
    $arr2 = array();
    while(!feof($fp))
    {
      $t = fgets($fp, 20);
      if(strlen($t) < 2)
        continue;
      list($id, $x, $y, $s) = explode(" ", $t);
      //if($id == $_COOKIE["id"])
        $x = (int)(($x*20 + $_GET["mx"])/21);
        $y = (int)(($y*20 + $_GET["my"])/21);
      $t = (object)array("x" => $x, "y" => $y);
      fwrite($fp2, $id." ".$x." ".$y." ".$s."\n\r");
       array_push($arr, $t);
       array_push($arr2, $t2);
     }
    fclose($fp);
    fclose($fp2);
     echo json_encode($arr);

     rename("data2.txt", "data.txt")


этот скрипт запускается раз в 1 секунду, и все из файлов исчезает
  • Вопрос задан
  • 180 просмотров
Пригласить эксперта
Ответы на вопрос 1
DaFive
@DaFive
php.net/manual/ru/function.fopen.php
Флаг r - чтение.
Флаг w - запись, но при открытии файла он трёт его до нуля и пмещает указатель в начало файла. Используйте 'a+'.
Или соберите все данные в одно строку и file_put_contents('file', $data, FILE_APPEND); Тут уж как удобнее и что за данные.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы