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.
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!