thinkphp文件上传以及 unable to create temporary file in 警告
在使用thinkphp進行文件上傳時,可能會報出以下警告。
以上是我使用postman進行上傳圖片的時候報出的異常,而導致圖片無法上傳。
該警告是因為你的php上傳沒有開啟,或者是臨時文件夾權限不夠。
解決方法是兩步。
1.開啟上傳功能,并設置臨時文件夾。此時需要打開php.ini文件。
? ? ? ? ?php.ini文件打開方式有兩種:
? ? ? ? ? ? ? ?1.如果使用的是phpstudy,那么直接可以打開配置文件php.ini。方式如圖:
(請其他菜單選項->打開配置文件->php.ini)
? ? ?2.也可以新建一個php文件,添加代碼:<?php echo phpinfo(); ?>? ?如圖:
然后在瀏覽器中打開該文件,即可查看php.ini的路徑。
?
2.當我們打開php.ini文件時,找到以下代碼:
去掉前面的分號,并添加臨時文件夾,如下
其中:d:/temp是我自己設置的臨時文件夾,你也可以設置成其他的,最后確定。
?
3.然后找到我們的臨時文件夾,(我設置的是d:/temp,就在d盤下創建了temp文件夾),右擊屬性->
將權限設置為完全控制,即可。
?
5.我們在進行測試:
我們可以看到已經上傳成功了。再看一下d:/temp:有臨時文件生成。
6.以下是我在thinkphp中用到的上傳的方法代碼:
public function upload(){// 獲取表單上傳文件 例如上傳了001.jpg$file = request()->file('image');// 移動到框架應用根目錄/public/uploads/ 目錄下if($file){$info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');if($info){// 成功上傳后 獲取上傳信息// 輸出 jpgecho $info->getExtension();// 輸出 20160820/42a79759f284b767dfcb2a0197904287.jpgecho $info->getSaveName();// 輸出 42a79759f284b767dfcb2a0197904287.jpgecho $info->getFilename(); }else{// 上傳失敗獲取錯誤信息echo $file->getError();}} }該方法上場文件到public/uploads目錄下,如果成功。則返回該圖片保存后的文件名。
查看thinkphp框架的目錄:我們可以看到public/uploads下生成了20180907(即今日)的文件夾,下的圖片。
總結
以上是生活随笔為你收集整理的thinkphp文件上传以及 unable to create temporary file in 警告的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 相册管理
- 下一篇: 最新全自动更新采集影视带10套模板PHP