Heim  >  Artikel  >  Backend-Entwicklung  >  Warum schlägt das Löschen einer PHP-Datei fehl?

Warum schlägt das Löschen einer PHP-Datei fehl?

王林
王林Original
2020-08-04 15:49:162982Durchsuche

Der Grund, warum PHP die Datei nicht löschen konnte: Die Datei war zum Zeitpunkt des Löschens noch von anderen Threads oder Prozessen belegt. Lösung: Geben Sie das Dateiobjekt zunächst manuell frei, um einen Löschfehler aufgrund der Belegung durch andere Threads oder Prozesse zu vermeiden. Verwenden Sie dann die Funktion „unlink()“, um die Datei zu löschen.

Warum schlägt das Löschen einer PHP-Datei fehl?

Ursachenanalyse: Die Datei

ist noch von anderen Prozessen belegt. Daher sollten wir das Dateiobjekt besser freigeben, um einen Löschfehler aufgrund der Belegung durch andere Threads oder Prozesse zu vermeiden.

(Empfohlenes Tutorial: php-Grafik-Tutorial ) Die Funktion

unlink() löscht Dateien.

Diese Funktion gibt bei Erfolg TRUE zurück. Bei einem Fehler wird FALSE zurückgegeben.

(Video-Tutorial-Empfehlung: php-Video-Tutorial)

Code-Implementierung:

public function upload()
{
    //获取上传文件
    $file = $this->request->file('file');
	
    if ($file) {
        // 移动文件到 uploads 目录下
        $info = $file->rule('date')->move(ROOT_PATH . 'public' . DS . 'uploads');
		
        if ($info) {//文件上传到服务器成功->接下来上传到OSS
            $filePath = ROOT_PATH . 'public' . DS . 'uploads/' . $info->getSaveName();
        	
            $oss = new Oss();
            $result = $oss->putObject($filePath); 
                  
            if ($result) { //上传到OSS成功                              
                unset($info);//解除图片的进程占用
                @unlink($filePath);
                return success(['avatar' => $result['fileSrc']], '头像更新成功');
            }
        }
    }
}

Das obige ist der detaillierte Inhalt vonWarum schlägt das Löschen einer PHP-Datei fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn