Каждый! Я проверил более 10 подобных вопросов здесь, и они не помогли. У меня есть небольшой скрипт, который должен записывать содержимое некоторого значения из $_GET[] и записывать его в файл. Скрипт проработал месяц, но случайно остановился. Теперь он только обрезает файл.
Файл доступен для записи пользователю apache: -rwxrwxrwx 1 apache root 0 Июл 9 07:39 ipnt
$newips2=trim($_GET['newips2']);
if ($newips2) {
echo ('debug: #newips2:'.$newips2.'<br>');
if ($handle2=fopen('ipnt','w')) {
fwrite($handle2,$newips2);
fclose($handle2);
echo ("updated<br>");
} else {
echo ("file isn't open for writing<br>");
}
}
Я вижу, что $newips2 не пуст, и вижу «обновлено» в выводе, поэтому, если оператор принимает значение true. Я даже пытался использовать
fflush($handle2)
А также
ftruncate($handle2,ftell($handle2));
И попытался добавить «b» в режимы fopen.
Я включил сообщения об ошибках в .htaccess:
php_value error_reporting E_ALL
php_value display_errors On
php_value display_startup_errors On
Но по-прежнему никаких ошибок не отображается. Неудачно.
Любая помощь была бы признательна.
2 ответа
После прочтения документа http://php.net/manual/fr/function.fopen.php< /a>, если вы хотите добавить новую строку в конец файла, вам нужно открыть fopen с помощью a.
$newips2=trim($_GET['newips2']);
if ($newips2) {
echo ('debug: #newips2:'.$newips2.'<br>');
if ($handle2=fopen('ipnt','a')) {
fwrite($handle2,$newips2 . "\n");
fclose($handle2);
echo ("updated<br>");
} else {
echo ("file isn't open for writing<br>");
}
}
Это была действительно глупая причина: нехватка места на диске. Модераторы, вы бы просто удалили весь этот вопрос.
Похожие вопросы
Новые вопросы
php
PHP — это открытый, мультипарадигмальный, динамически типизированный и интерпретируемый язык сценариев, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.
df -h
, чтобы узнать, сколько места у вас осталось.