php chmod()没有更改权限

Seb*_*jan 7 php permissions file-permissions chmod writable

我在使用图片上传脚本时遇到问题.

我知道有数百个相同的问题,但我找不到那个对我有用的问题.

$upload_dir = "images/postcards/";
chmod($upload_dir, 777);
if (is_writable($upload_dir)) {
    echo 'The file is writable';
} else {
    echo 'The file is not writable';
}
Run Code Online (Sandbox Code Playgroud)

这总是返回文件"不可写"

我试着设置chmod0777-rwxrwxrwx.但结果总是一样的.有任何想法吗?

jma*_*man 11

该目录必须由调用脚本的用户拥有(通常www-data,apache或者httpd如果您在apache/*NIX设置中运行脚本).用户无法对其不拥有的目录设置777权限.

请参阅chmod()手册中的注释:

当前用户是PHP运行的用户.它可能与您用于普通shell或FTP访问的用户不同.只有在大多数系统上拥有该文件的用户才能更改该模式.