2017-02-08 55 views
1
否認

我的腳本生成照片的目錄用戶上傳操作,但權限生成目錄顯示爲r----x--t即使我在PHP權限在PHP

if (!is_dir($dir.$new_id)) { 
    $new_dir = $dir.$new_id.'/'; 
    mkdir($new_dir, 777, true); 
    $thumbnail_dir = $new_dir.'thumbnail/'; 
    if (!is_dir($thumbnail_dir)) { 
     mkdir($thumbnail_dir, 777, true); 
    } 
} 

指定777我要指出,我是自由hostinger運行centos OS的帳戶。

+0

www數據用戶不在目錄的所有者或組,需要通過chown命令 – Fky

回答

0

將您的umask臨時設置爲零,umask充當應用程序無法在文件上設置的一組權限。來源:http://php.net/manual/en/function.umask.php

$old = umask(0); 
    if (!is_dir($dir.$new_id)) { 
     $new_dir = $dir.$new_id.'/'; 
     mkdir($new_dir, 0777, true); 
     $thumbnail_dir = $new_dir.'thumbnail/'; 
     if (!is_dir($thumbnail_dir)) { 
      mkdir($thumbnail_dir, 0777, true); 
     } 
    } 
    umask($old); 
    if ($old != umask()) { 
    die('An error occurred while changing back the umask'); 
    } 
+0

同樣的事情發生改變,目錄仍於r ---- X - T的 – Ernestas

+0

和與'mkdir($ new_dir,0777,true); chmod($ new_dir,0777);'? –

+0

www-data用戶不在所有者或目錄組中,您需要通過chown命令更改它 – Fky