Доброе утро. При попытке записать данные в файл, у меня в файл записывается сначала имя, а потом переходит на новую строку. Из-за этого имя не находилось в файле. Т.е при записи в файл, у меня все записывается так: 1.username 2.//здесь бывает указатель и из-за этого невозможно правильно получить первое название А нужно так 1.username //здесь указатель Код для записи в файл: PHP: <?php $user = $_GET['newuser']; if (isset($user)) { if ($user!="") { $fh=fopen("users.txt", "a+"); $user = trim(preg_replace('/\s/', '', $user)); fwrite($fh, $user."\r\n"); fclose($fh); }} ?> Как сделать так, чтобы каждый раз все записывалось с новой строки, но с условием что на новую строку он перейдет только при следующем редактрировании? Заранее спасибо
@guno7, например, в 7-й строке "\r\n" заменить на константу PHP_EOL и перенести в начало формируемой строки (не $user.PHP_EOL, а PHP_EOL.$user) Но надо убедиться, что при отсутствии 'newuser' в файл ничего записываться не будет... Где-то ведь "указатель" ещё определяется и записывается...
Спасибо) ну проверка там есть насчет newuser --- Добавлено --- Теперь записывается так: //пустая строка WIN-96BVOQVUV8K Как сделать чтоб все начиналось с первой строки?
Либо предварительно проверить длину файла (filesize), либо проверить существование файла (is_file), в зависимости от того, создаёте ли файл до регистрации пользователя, или файл создается автоматически при первой регистрации пользователя.
Все решил. Спасибо большое. Код: PHP: if (isset($user)) { if ($user!="") { if(file_exists('users.txt'))$b=true; else $b=false; $fh=fopen("users.txt", "a+"); $user = trim(preg_replace('/\s/', '', $user)); if($b)fwrite($fh, "\r\n".$user); else fwrite($fh, $user); fclose($fh); $fp = fopen("users/".$user.".txt", "w"); fwrite($fp, $user); fclose($fp); } }