2017-12-16 25 views
1

여기뿐만 아니라 Google에서 여러 게시물을 검토 한 후에도 아직 내 문제에 대한 해결책을 찾지 못했습니다. 사용자가 이미지를 업로드 할 수있는 웹 사이트를 만들고 있습니다. 자신의 이미지에 대한 개인 디렉터리가 없으면 이미지를 만들고 이미지를 내부에 배치합니다. 문제는 디렉토리가 만들어지고 이미지가 내부에 있으면 해당 폴더로 이동 한 후 열려고하면 올바른 권한이 없기 때문에 이미지를 볼 수 없다는 것입니다. 나는 같은 문제를 가진 몇몇 사람들을 보았고, 내가 찾은 해결책 중 어느 것도 나를 위해 일하지 않았다.PHP - 생성 된 디렉토리에 이미지를 업로드 한 후 이미지를 볼 수 없습니다.

크기, 유형, 이미 존재하는 경우 등을 확인해야한다는 것을 알고 있습니다.이 시점에서 나는 이미지를 보려고합니다.

편집 : 0777에서 0755로 권한이 변경되었지만 문제가 남아 있습니다.
EDIT2 : fileperms는 업로드 된 이미지에서 실행할 때 33206을 반환합니다.

사람이를 발견하고 같은 문제가있는 경우
if(isset($_POST["submit"])) 
    { 
     $path = "images/$user_id"; 

     if(!file_exists($path)) 
     { 
      mkdir($path, 0755, true); 
     } 

     $target_dir = "$path/"; 
     $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); 
     $uploadOk = 1; 
     $imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION)); 

     $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]); 
     if($check !== false) 
     { 
      echo "File is an image - " . $check["mime"] . "."; 
      $uploadOk = 1; 
     } 
     else 
     { 
      echo "File is not an image."; 
      $uploadOk = 0; 
     } 

     if(move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) 
     { 
      chmod($path . "/" . $_FILES["fileToUpload"]["name"], 0755); 
      echo "The file was upload successfully."; 
     } 
     else 
     { 
      echo "There was an error with the upload."; 
     } 
    } 
+0

디렉토리 권한은 '0755'가 아니라'0777'으로 설정되어야합니다. – JeanPaul98

+0

제안에 감사드립니다. 나는 그 변화를 만들었지 만 나는 여전히 그 이미지를 볼 수 없다. – Alithvia

+1

그래서 업로드하면 파일이 폴더에 업로드 된 것을 볼 수 있습니까? – JeanPaul98

답변

0

는 문제는 파일에 저장되는 임시 폴더는 당신이 그것을 보는 방지 권한을 가지고 있다는 것입니다. 필자는 php.ini 파일을 편집하고 upload_tmp_dir을 전체 권한으로 내 바탕 화면의 일부 폴더로 설정하여이 문제를 해결했습니다.