2013-12-01 1 views
0

Мой кодВ PHP, почему это не будет написано test.txt?

<?php 
$fp = fopen('test.txt', "a+"); 
fwrite($fp, 'Cats chase mice'); 
fclose($fp); 
?> 

но test.txt все еще пуст. Я не вижу ничего плохого, и я не понимаю, почему он не пишет.

+0

Что говорит 'error_reporting'? – mario

+0

Первое, что вам нужно сделать, это проверить, доступен ли файл для записи с помощью 'is_writable()': http://php.net/manual/en/function.is-writable.php –

+0

Связанный: http://stackoverflow.com/questions/6575482/how-do-i-enable-error-reporting-in-php – PeeHaa

ответ

2

написать в консоли

chmod a+w test.txt 
1

Это проблема с правами доступа к файлам.

Это будет 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. 
+0

Что вы имеете в виду[email protected] AndersLindén –

+0

0666 можно использовать, если вы не хотите выполнять файл –

+1

Правда, это может быть '0644', который работает на моем сервере, однако это может быть не так с OP. @ AndersLindén –

Смежные вопросы