La raison pour laquelle PHP n'a pas réussi à supprimer le fichier : le fichier était toujours occupé par d'autres threads ou processus lorsqu'il a été supprimé. Solution : libérez d'abord l'objet fichier manuellement pour éviter un échec de suppression dû à son occupation par d'autres threads ou processus ; puis utilisez la fonction unlink() pour supprimer le fichier.
Analyse des causes :
Le dossier est toujours occupé par d'autres processus. Nous ferions donc mieux de libérer l'objet fichier pour éviter un échec de suppression dû à son occupation par d'autres threads ou processus.
(Tutoriel recommandé : Tutoriel graphique php)
La fonction unlink() supprime les fichiers.
En cas de succès, cette fonction renvoie VRAI. En cas d'échec, renvoie FALSE.
(Tutoriel vidéo recommandé : Tutoriel vidéo php)
Implémentation du code :
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']], '头像更新成功'); } } } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!