Мой кодВ PHP, почему это не будет написано test.txt?
<?php
$fp = fopen('test.txt', "a+");
fwrite($fp, 'Cats chase mice');
fclose($fp);
?>
но test.txt все еще пуст. Я не вижу ничего плохого, и я не понимаю, почему он не пишет.
Мой кодВ PHP, почему это не будет написано test.txt?
<?php
$fp = fopen('test.txt', "a+");
fwrite($fp, 'Cats chase mice');
fclose($fp);
?>
но test.txt все еще пуст. Я не вижу ничего плохого, и я не понимаю, почему он не пишет.
написать в консоли
chmod a+w test.txt
Это проблема с правами доступа к файлам.
Это будет chmod вашего файла до 777
, что делает его пригодным для записи.
Испытан на Linux сервере:
<?php
$fp = fopen('test.txt', "a+");
chmod("test.txt", 0777); // try also 0666 or 0644
fwrite($fp, 'Cats chase mice');
fclose($fp);
?>
Вы также можете использовать 0666
или 0644
в зависимости от того, насколько высоко разрешения вы хотите, чтобы файл есть, но 0644
будет ваш самым безопасным вариантом; Смотри ниже.
Вы также можете ввести chmod 777 test.txt
или chmod 666 test.txt
или chmod 644 test.txt
через FTP.
Мой сервер позволяет мне использовать 0644
для записи и добавления и может отличаться на сервере, который вы хотите выполнить.
Цитируется http://www.centos.org/docs/2/rhl-gsg-en-7.2/s1-navigating-chmodnum.html
Берегись 666 и 777
Установка разрешений на 666 или 777 позволит каждому читать и писать в файл или каталог.
Эти разрешения могут допускать несанкционированное использование конфиденциальных файлов, поэтому, в общем, не рекомендуется использовать эти настройки.
Вот список некоторых общих настроек, численных значений и их значения:
-rw------- (600) — Only the owner has read and write permissions.
-rw-r--r-- (644) — Only the owner has read and write permissions; the group and others can read only.
-rwx------ (700) — Only the owner has read, write and execute permissions.
-rwxr-xr-x (755) — The owner has read, write and execute permissions; the group and others can only read and execute.
-rwx--x--x (711) — The owner has read, write and execute permissions; the group and others can only execute.
-rw-rw-rw- (666) — Everyone can read and write to the file. (Be careful with these permissions.)
-rwxrwxrwx (777) — Everyone can read, write and execute. (Again, this permissions setting can be hazardous.)
Вот некоторые общие настройки для каталогов:
drwx------ (700) — Only the user can read, write in this directory.
drwxr-xr-x (755) — Everyone can read the directory, but its contents can only be changed by the user.
Что вы имеете в виду[email protected] AndersLindén –
0666 можно использовать, если вы не хотите выполнять файл –
Правда, это может быть '0644', который работает на моем сервере, однако это может быть не так с OP. @ AndersLindén –
Что говорит 'error_reporting'? – mario
Первое, что вам нужно сделать, это проверить, доступен ли файл для записи с помощью 'is_writable()': http://php.net/manual/en/function.is-writable.php –
Связанный: http://stackoverflow.com/questions/6575482/how-do-i-enable-error-reporting-in-php – PeeHaa