2010-08-24 122 views
0

我正在上傳到777權限文件夾。上傳工作,但上傳的文件有664個權限和'所有者''沒有'。PHP圖片上傳,我如何設置文件權限

如何更改以下scipt以777形式上傳文件並設置所有者?


代碼來自Plupload的upload.php的文件

if (strpos($contentType, "multipart") !== false) { 
    if (isset($_FILES['file']['tmp_name']) && is_uploaded_file($_FILES['file']['tmp_name'])) { 
     // Open temp file 
     $out = fopen($targetDir . DIRECTORY_SEPARATOR . $fileName, $chunk == 0 ? "wb" : "ab"); 
     if ($out) { 
      // Read binary input stream and append it to temp file 
      $in = fopen($_FILES['file']['tmp_name'], "rb"); 

      if ($in) { 
       while ($buff = fread($in, 4096)) 
        fwrite($out, $buff); 
      } else 
       die('{"jsonrpc" : "2.0", "error" : {"code": 101, "message": "Failed to open input stream."}, "id" : "id"}'); 

      fclose($out); 
      unlink($_FILES['file']['tmp_name']); 
     } else 
      die('{"jsonrpc" : "2.0", "error" : {"code": 102, "message": "Failed to open output stream."}, "id" : "id"}'); 
    } else 
     die('{"jsonrpc" : "2.0", "error" : {"code": 103, "message": "Failed to move uploaded file."}, "id" : "id"}'); 
} else { 
    // Open temp file 
    $out = fopen($targetDir . DIRECTORY_SEPARATOR . $fileName, $chunk == 0 ? "wb" : "ab"); 
    if ($out) { 
     // Read binary input stream and append it to temp file 
     $in = fopen("php://input", "rb"); 

     if ($in) { 
      while ($buff = fread($in, 4096)) 
       fwrite($out, $buff); 
     } else 
      die('{"jsonrpc" : "2.0", "error" : {"code": 101, "message": "Failed to open input stream."}, "id" : "id"}'); 

     fclose($out); 
    } else 
     die('{"jsonrpc" : "2.0", "error" : {"code": 102, "message": "Failed to open output stream."}, "id" : "id"}'); 
} 

回答

0

最有可能你將不能夠改變文件的所有權,因爲這會是用戶ID webserver的跑下。不過,您可以嘗試使用chown(),很可能您只能更改羣組所有權(使用chgrp())。更改權限通過chmod()完成。

+0

調用chmod()事後工作很好,謝謝marc – Haroldo 2010-08-25 07:38:53