這篇文章主要講解了“怎么解決php unlink失敗的情況”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“怎么解決php unlink失敗的情況”吧!
php unlink失敗的解決辦法:首先打開相應(yīng)的PHP示例文件;然后通過(guò)“unset($info);”解除圖片的進(jìn)程占用;最后重新執(zhí)行“@unlink”操作即可。
本文操作環(huán)境:Windows7系統(tǒng)、PHP7.1、Dell G3電腦。
最近做我網(wǎng)站的更換頭像功能時(shí),涉及到了PHP的文件上傳。
我采用的方案是用戶先上傳到服務(wù)器,服務(wù)器再上傳到阿里云的OSS,中間會(huì)有一個(gè)把圖片臨時(shí)存儲(chǔ)到服務(wù)器的過(guò)程。于是在使用php的@unlink(刪除指定文件)方法時(shí)發(fā)現(xiàn)了刪除失敗的問(wèn)題。
開始以為是我的路徑名寫錯(cuò)了,后來(lái)確認(rèn)這個(gè)參數(shù)沒有錯(cuò)。刪除失敗的原因是圖片仍然被進(jìn)程占用,所以想要成功執(zhí)行@unlink操作,我們好手動(dòng)釋放下文件對(duì)象,避免因?yàn)楸黄渌€程或進(jìn)程占用而導(dǎo)致刪除失敗,代碼片段如下:
// [API接口-用戶更新頭像] public function setAvatar() { // 獲取表單上傳文件 $file = $this->request->file('avatar'); if ($file) { // 移動(dòng)到框架應(yīng)用根目錄/public/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']], '頭像更新成功'); } } } }
不得不說(shuō),自學(xué)是困難重重的,原因不在于外,在于內(nèi)。這一次為了追尋所想,斬?cái)嗔送寺罚o掉了安穩(wěn)的工作,希望不要讓這些犧牲,毫無(wú)價(jià)值可言。
感謝各位的閱讀,以上就是“怎么解決php unlink失敗的情況”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)怎么解決php unlink失敗的情況這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
網(wǎng)站題目:怎么解決phpunlink失敗的情況-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://chinadenli.net/article16/doeodg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、手機(jī)網(wǎng)站建設(shè)、微信公眾號(hào)、ChatGPT、網(wǎng)站策劃、移動(dòng)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容