簡體   English   中英

move_uploaded_file(uploads /)[function.move-uploaded-file]:無法打開流:權限被拒絕

[英]move_uploaded_file(uploads/) [function.move-uploaded-file]: failed to open stream: Permission denied

我有這個代碼:

chmod('uploads', 0777);
$image = $_FILES['image']['tmp_name'];
$_FILES['image']['name'] =   date('d-m-Y_H-i-s-') . rand(11111,99999) * rand(99999,11111) . rand(111,999) . $_FILES['image']['tmp_name'];

和這個 :

move_uploaded_file($_FILES['image']['tmp_name'], 'uploads/');

但是當我運行代碼時,出現以下錯誤消息:

警告:move_uploaded_file(uploads /)[function.move-uploaded-file]:無法打開流:第51行的D:\\ AppServ \\ www \\ tab \\ submit.php中的權限被拒絕

警告:move_uploaded_file()[function.move-uploaded-file]:無法將D:\\ AppServ \\ www \\ tab \\ submit.php中的'C:\\ Windows \\ Temp \\ php4D3.tmp'移動到'uploads /' 51

如何解決?

apache的用戶可能不是此文件夾的所有者。 嘗試更改其所有者或將apache用戶添加到對其具有寫權限的組。

另一件事是,您只需要對其具有寫權限,請謹慎使用0777權限。

我成功修復了它!
只需替換:

$_FILES['image']['name'] =   date('d-m-Y_H-i-s-') . rand(11111,99999) * rand(99999,11111) . rand(111,999) . $_FILES['image']['tmp_name'];

$file_name =   date('d-m-Y_H-i-s-') . rand(11111,99999) * rand(99999,11111) . rand(111,999) . $_FILES['image']['name'];

move_uploaded_file($_FILES['image']['tmp_name'], 'uploads/');

move_uploaded_file($_FILES['image']['tmp_name'], 'uploads/'.$file_name);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM