iT邦幫忙

0

php 下載上傳檔案出現 failed to open stream: Permission denied

  • 分享至 

  • xImage

我的程式碼是從這裡複製參考的
https://iter01.com/447849.html
然後執行出現了這些錯誤

jpg
Warning: move_uploaded_file(medicine/20220911631d9361b53235639.jpg): failed to open stream: Permission denied in /Applications/XAMPP/xamppfiles/htdocs/system/doup.php on line 41

Warning: move_uploaded_file(): Unable to move '/Applications/XAMPP/xamppfiles/temp/phpMLcnrR' to 'medicine/20220911631d9361b53235639.jpg' in /Applications/XAMPP/xamppfiles/htdocs/system/doup.php on line 41
22222222222

其中我的資料夾架構是
medicine 資料夾跟 doup.php 檔案是同層的

使用的環境是
mac OS 及 Xampp

我上網查了許多解決的問題但是不太懂
像是:
sudo chown -R _www:_www /path/to/folder
看起來是要在哪裡輸入這句嗎?
還有關於 777 也不太懂
有些人說是這個碼不對 但我不知道我要從哪看到對的這個碼
php.ini裡面我的
file_uploads = On -> 是正常的
但是
;upload_tmp_dir =
我這個後面是空白的 不知道是正常的嗎?

不好意思第一次發文詢問,有不妥的地方歡迎指出。

除了owner之外,順便試試這個:
sudo chmod -R 777 yourfolder
ching iT邦新手 5 級 ‧ 2022-09-11 17:59:42 檢舉
yourfolder 請問這裡我應該寫哪一個資料夾?我寫了/Applications/XAMPP/xamppfiles/htdocs/system/medicine/
就是我檔案要存放的地方
enter後他什麼也沒出現
建議 PO主 要去學習一下 Unix系統 / 檔案擁有者 & 檔案權限的知識喔!
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
miku3920
iT邦新手 2 級 ‧ 2022-09-11 17:34:58
最佳解答

apache 沒有那個資料夾(medicine)的權限,把那個資料夾的擁有者改成 apache 應該就可以了

$ sudo chown apache /Applications/XAMPP/xamppfiles/htdocs/system/medicine/
ching iT邦新手 5 級 ‧ 2022-09-11 17:56:52 檢舉

不好意思 他出現了這句話
chown: apache: illegal user name
請問應該怎麼辦呢?

miku3920 iT邦新手 2 級 ‧ 2022-09-11 18:20:22 檢舉

那句話是說沒有這個使用者
apache 改成 _www 試試
apache 在 macos 的名字(user name)應該是這個才對

ching iT邦新手 5 級 ‧ 2022-09-11 18:49:48 檢舉

我成功了!謝謝你~~

我要發表回答

立即登入回答