Maison >développement back-end >Problème PHP >Pourquoi la suppression du fichier php échoue-t-elle ?

Pourquoi la suppression du fichier php échoue-t-elle ?

王林
王林original
2020-08-04 15:49:163008parcourir

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.

Pourquoi la suppression du fichier php échoue-t-elle ?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn