php刪除文件失敗的原因:文件在刪除時(shí)仍然被其他線程或進(jìn)程占用。解決方法:首先手動(dòng)釋放文件對(duì)象,避免因?yàn)楸黄渌€程或進(jìn)程占用而導(dǎo)致刪除失?。蝗缓罄胾nlink()函數(shù)刪除文件即可。
原因分析:
文件仍然被其他進(jìn)程占用。所以我們最好釋放下文件對(duì)象,避免因?yàn)楸黄渌€程或進(jìn)程占用而導(dǎo)致刪除失敗。
(推薦教程:php圖文教程)
unlink() 函數(shù)刪除文件。
如果成功,該函數(shù)返回 TRUE。如果失敗,則返回 FALSE。
(視頻教程推薦:php視頻教程)
代碼實(shí)現(xiàn):
public function upload() { //獲取上傳文件 $file = $this->request->file('file'); if ($file) { // 移動(dòng)文件到 uploads 目錄下 $info = $file->rule('date')->move(ROOT_PATH . 'public' . DS . 'uploads'); if ($info) {//文件上傳到服務(wù)器成功->接下來(lái)上傳到OSS $filePath = ROOT_PATH . 'public' . DS . 'uploads/' . $info->getSaveName(); $oss = new Oss(); $result = $oss->putObject($filePath); if ($result) { //上傳到OSS成功 unset($info);//解除圖片的進(jìn)程占用 @unlink($filePath); return success(['avatar' => $result['fileSrc']], '頭像更新成功'); } } } }