PHP的move_uploaded_file()出錯解決


今天用的PHP的move_uploaded_file方法保存前端上傳的中文名稱文件時,方法返回假,調試時錯誤碼為2,錯誤信息為:

move_uploaded_file(D:\ git_prj \ xx \ think \ Public \ attachment / upload / staffworking年休假說明.docx):無法打開流:無效的參數。

在網上搜了下原因,LINUX下一般是由於目標目錄沒有寫權限。但是我這個是窗口目錄,不存在權限的問題,而且我開發時用數字命名的文件名,測試正常。再繼續找原因,發現是中文編碼的問題。保存文件時,需要將中文由UTF8轉為GB2312,確實有點讓人費解:(

$ attachment = $ _FILES ['attachment'];

$ name = iconv(“UTF-8”,“gb2312”,$ attachment ['name']);

move_uploaded_file($ attachment ['tmp_name'],DOCROOT。“attachment / upload / {$ name}”);

偷偷糾正一句,目標路徑是可以用相對路徑的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM