>  기사  >  백엔드 개발  >  PHP에서 업로드 루트 디렉터리가 존재하지 않는다는 메시지가 표시되면 어떻게 해야 합니까?

PHP에서 업로드 루트 디렉터리가 존재하지 않는다는 메시지가 표시되면 어떻게 해야 합니까?

王林
王林원래의
2021-09-16 14:36:372915검색

PHP에서 업로드 루트 디렉터리가 존재하지 않는다는 메시지가 표시될 때 해결 방법: 먼저 루트 디렉터리에 권한을 부여하고 문제가 해결되지 않았는지 확인하고, 마지막으로 mkdir 명령을 사용하여 새 폴더를 만듭니다. 새로 생성된 폴더에 대해 가장 높은 권한을 부여합니다.

PHP에서 업로드 루트 디렉터리가 존재하지 않는다는 메시지가 표시되면 어떻게 해야 합니까?

이 기사의 운영 환경: windows10 시스템, php 7, thinkpad t480 컴퓨터.

문제 복원:

사진을 업로드하려고 시도한 후 "업로드 루트 디렉터리가 존재하지 않습니다. 수동으로 생성해 보십시오."라는 메시지가 나타납니다.

해결 방법:

먼저 권한을 부여해 보시고 그래도 문제가 해결되지 않으면 폴더를 삭제하세요. 그런 다음 mkdir 명령을 사용하여 새 폴더를 만들고 777 권한을 부여합니다.

질문 2:

ThinkPHP3를 사용하여 이미지를 업로드하는 개발 과정에서 다음과 같은 문제가 발생했습니다.

업로드 루트 디렉터리가 존재하지 않습니다! 수동으로 생성해 보십시오: ./Uploads/; 업로드된 사진에 중국어 이름이 왜곡되어 있습니다. 파일을 업로드할 때 현재 날짜의 이름을 딴 폴더가 자동으로 생성되고 파일이 여기에 저장됩니다.

참고: Windows에서의 개발 환경은 Xampp입니다

문제가 해결되기 전의 코드는 첨부되어 있습니다.

PHP에서 업로드 루트 디렉터리가 존재하지 않는다는 메시지가 표시되면 어떻게 해야 합니까?

다음은 세 가지 문제에 대한 해결 방법입니다.

문제 1

정보를 확인할 때 일부 네티즌들은 이것이 폴더 권한 문제는 다음과 같이 해결될 수 있다고 말했습니다.
예를 들어 업로드된 사진을 ./Uploads 디렉터리에 저장하려면 rootPath를 './'로 설정하고 savePath를 저장할 경로로 설정하지 않도록 주의하세요. 앞에 "."을 넣으세요. 최종 저장 디렉터리 경로는 ./Uploads/1/입니다.

$upload->rootPath = "./";
$upload->savePath = "Uploads/$uid/";

질문 2

ThinkPHPLibraryThinkUploadDriverLocal.class.php 파일에서 저장 방법을 찾으세요.

PHP에서 업로드 루트 디렉터리가 존재하지 않는다는 메시지가 표시되면 어떻게 해야 합니까?

if (!move_uploaded_file($file['tmp_name'], $filename))

if (!move_uploaded_file($file['tmp_name'], iconv('utf-8','gb2312',$filename)))

로 변경하세요. 질문 3

업로드 시 하위 디렉터리가 자동으로 사용됩니다. 업로드된 파일을 저장하려면 기본적으로 $upload->autoSub = true입니다. false로 설정하세요.
코드의 업로드 매개변수에 다음 코드를 추가하세요:

$upload->autoSub = false;

추천 학습: php training

위 내용은 PHP에서 업로드 루트 디렉터리가 존재하지 않는다는 메시지가 표시되면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.