2016-08-30 6 views
0

В хостинг сервер, который мы установили 777 разрешения на папки, но мы не можем записать файлы в папках, а также мы проверяем is_writable код PHP, чтобы проверить разрешение,разрешение папки 777 не работает

if (is_writable($dir)) { 
    echo $dir, ' is writable'; 
    } else { 
    echo $dir, ' is NOT writable'; 
} 

но его показ «НЕ записывается»

+0

Если PHP говорит, что он не может быть записан, то он определенно не доступен для записи. Независимо от того, насколько вы можете поверить, что PHP допустил ошибку или солгал вам; это не так. Вы сделали ошибку где-то; вы просто этого не знаете. 'var_dump ($ dir)', если это относительный путь, используйте 'var_dump (realpath ($ dir))'. Подтвердите свои сомнения фактами. – Sherif

ответ

1

Проверьте контекст selinux (команда: ls -Z/directory_path) этой папки.
Предполагается, что это httpd_sys_content_t для apache http. Если он не установлен, измените его на это.

chcon -h system_u: object_r: httpd_sys_content_t/directory_path

0

вы можете проверить имя файла. или путь к файлу.

Bacuse ваш стиль использования правильный.

Возможно немного неосторожное. Благодарю.

<?php 
$file= 'try.txt'; 
if (is_writable($file)) {  
echo 'writable'; 
} else {  
echo 'not writable';} 
?>