2017-12-16 28 views
1

ここにもGoogleにもいくつかの投稿がありますが、私の問題の解決策はまだ見つかりません。私はユーザーが画像をアップロードできるウェブサイトを作っている。自分の画像用のパーソナルディレクトリが存在しない場合は、作成した画像を内部に配置します。問題は、ディレクトリが作成され、イメージが内部にあると、そのフォルダに移動して開こうとすると正しいアクセス権がないため表示できないということです。私は同じ問題を抱えているいくつかの人々を見てきました。PHP - 作成したディレクトリに画像をアップロードした後で画像を表示できない

サイズ、タイプ、すでに存在するかどうかなどを確認する必要があることはわかっています。この時点では、画像を表示しようとしています。

EDIT:権限が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を自分のデスクトップのフル・パーミッションのフォルダに設定することでこれを解決しました。

関連する問題