PHP -- 图片上传到创建目录后无法查看
PHP -- Can't view image after uploading it to created directory
在浏览了此处以及 Google 上的几篇帖子后,我还没有找到解决问题的办法。我正在制作一个用户可以上传图片的网站。如果他们的图像不存在个人目录,我会创建一个并将图像放入其中。问题是,在创建目录并且图像在里面之后,我无法查看它,因为一旦我导航到该文件夹并尝试打开它,我就没有正确的权限。我见过几个人遇到同样的问题,none 我找到的解决方案对我有用。
我知道我需要检查大小、类型、是否已经存在等。此时,我只是想看看图像。
编辑:将权限从 0777 更改为 0755,但问题仍然存在。
EDIT2: fileperms returns 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.";
}
}
如果有人发现此文件并遇到同样的问题,问题是文件所在的临时文件夹具有阻止您查看它的权限。我通过编辑我的 php.ini 文件解决了这个问题,并将 upload_tmp_dir 设置为我在桌面上创建的具有完全权限的文件夹。
在浏览了此处以及 Google 上的几篇帖子后,我还没有找到解决问题的办法。我正在制作一个用户可以上传图片的网站。如果他们的图像不存在个人目录,我会创建一个并将图像放入其中。问题是,在创建目录并且图像在里面之后,我无法查看它,因为一旦我导航到该文件夹并尝试打开它,我就没有正确的权限。我见过几个人遇到同样的问题,none 我找到的解决方案对我有用。
我知道我需要检查大小、类型、是否已经存在等。此时,我只是想看看图像。
编辑:将权限从 0777 更改为 0755,但问题仍然存在。
EDIT2: fileperms returns 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.";
}
}
如果有人发现此文件并遇到同样的问题,问题是文件所在的临时文件夹具有阻止您查看它的权限。我通过编辑我的 php.ini 文件解决了这个问题,并将 upload_tmp_dir 设置为我在桌面上创建的具有完全权限的文件夹。