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 중국어 웹사이트의 기타 관련 기사를 참조하세요!