%60%3A%20PHP%EB%A1%9C%20%ED%8F%B4%EB%8D%94%EB%A5%BC%20%EC%83%9D%EC%84%B1%ED%95%98%EB%8A%94%20%EA%B6%8C%ED%95%9C%EC%9D%B4%20%EA%B1%B0%EB%B6%80%EB%90%98%EC%97%88%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
이 PHP 스크립트가 있습니다.
$dir = FCPATH . 'uploads' . DIRECTORY_SEPARATOR . 'posts'; // is in CodeIngiter
if (!is_dir($dir)) {
mkdir($dir, 755);
}
게시물의 이미지를 저장하기 위한 폴더를 생성합니다. 그러나 다음 오류/경고가 표시됩니다.
Severity: Warning
Message: mkdir(): Permission denied
폴더를 만들 수 없습니다.
이 문제를 어떻게 해결할 수 있나요? 내 폴더 구조는 다음과 같습니다.
/opt/lampp/htdocs/www/my-site/public/ (uploads/posts) // all folders inside files will generate in php
추가 정보: 이 코드에 주석을 달고 posts
폴더를 수동으로 생성한 다음 파일을 업로드하려고 하면 대상 경로에 쓸 수 없다는 오류가 발생합니다.
출력 ls -l /opt/lampp/htdocs/www/my-site/
:
drwxrwxr-x 15 lykos lykos 4096 Sep 17 23:08 application
drwxrwxrwx 6 lykos lykos 4096 Sep 29 22:00 public
drwxrwxr-x 8 lykos lykos 4096 Sep 7 12:31 system
출력 ls -l /opt/lampp/htdocs/www/my-site/public
:
drwxr-xr-x 4 lykos lykos 4096 Sep 18 21:48 css
drwxr-xr-x 2 lykos lykos 4096 Sep 27 19:18 img
-rwxrwxr-x 1 lykos lykos 9872 Sep 17 23:04 index.php
drwxr-xr-x 8 lykos lykos 4096 Sep 27 20:06 js
drwxr-xr-x 2 lykos lykos 4096 Sep 29 20:34 uploads
답변1
문제는 mkdir()
Ubuntu가 아니라 귀하의 통화에 있습니다.
에 따라귀하의 의견가 ls -l /opt/lampp/htdocs/www/my-site/public/uploads
존재하지 않으므로 매개변수 mkdir()
전달을 호출해야 합니다 recursive
.
$dir = '/uploads/posts';
if (!is_dir($dir)) {
mkdir($dir, 755, true);
}