php がファイルの削除に失敗した理由: ファイルが削除されたとき、ファイルはまだ他のスレッドまたはプロセスによって占有されていました。解決策: まず、他のスレッドまたはプロセスによって占有されていることによる削除の失敗を避けるためにファイル オブジェクトを手動で解放し、次に unlink() 関数を使用してファイルを削除します。
#原因分析:
ファイルはまだ他のプロセスによって占有されています。したがって、他のスレッドやプロセスによって占有されて削除が失敗することを避けるために、ファイル オブジェクトを解放する方がよいでしょう。
(推奨チュートリアル: php グラフィック チュートリアル)
unlink() 関数はファイルを削除します。
成功した場合、この関数は TRUE を返します。失敗した場合は FALSE を返します。
(ビデオ チュートリアルの推奨: php ビデオ チュートリアル)
コードの実装:
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']], '头像更新成功'); } } } }
以上がphp ファイルの削除が失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。