ここにも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.";
}
}
ディレクトリのアクセス許可は「0755」ではなく、「0777」 – JeanPaul98
としてください。私はこれらの変更を加えましたが、私はまだ画像を見ることができません。 – Alithvia
アップロードすると、そのファイルがフォルダにアップロードされていることがわかりますか? – JeanPaul98