![](/img/trans.png)
[英]php Warning: move_uploaded_file(../images/uploads/tk13.JPG) [function.move-uploaded-file]: failed to open stream: Permission denied
[英]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.