插入图像到临时文件
Inserting image to temporary file
我已经完成了将图像插入临时文件的编码。我可以上传小于 5mb 的图片,但有些图片无法插入,我想知道为什么。有人可以告诉我我在下面的编码中做错了什么吗?
$imgFile = $_FILES['user_image']['name'];
$tmp_dir = $_FILES['user_image']['tmp_name'];
$imgSize = $_FILES['user_image']['size'];
$upload_dir = 'user_images/'; // upload directory
$imgExt = strtolower(pathinfo($imgFile,PATHINFO_EXTENSION)); // get image extension
// valid image extensions
$valid_extensions = array('jpeg', 'jpg', 'png', 'gif'); // valid extensions
// rename uploading image
$userpic = rand(1000,1000000).".".$imgExt;
// allow valid image file formats
if(in_array($imgExt, $valid_extensions)){
// Check file size '5MB'
if($imgSize < 5000000) {
move_uploaded_file($tmp_dir,$upload_dir.$userpic);
}
else{
$errMSG = "Sorry, your file is too large.";
}
}
else{
$errMSG = "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
}
编辑
我发现无法将大小为 > 2MB
的图像移动到临时文件,但它通过了行 if($imgSize < 5000000)
。我该如何解决这个问题?
我发现这是由 php.ini
中的设置引起的,其中 upload_max_filesize
设置为 2M
。我希望这对面临与我相同问题的其他人有用。转到 php.ini
并查看 File Uploads 部分并找到行 upload_max_filesize = 2M
。将 2M
更改为满足您要求的任何大小并重新启动所有服务:)
我已经完成了将图像插入临时文件的编码。我可以上传小于 5mb 的图片,但有些图片无法插入,我想知道为什么。有人可以告诉我我在下面的编码中做错了什么吗?
$imgFile = $_FILES['user_image']['name'];
$tmp_dir = $_FILES['user_image']['tmp_name'];
$imgSize = $_FILES['user_image']['size'];
$upload_dir = 'user_images/'; // upload directory
$imgExt = strtolower(pathinfo($imgFile,PATHINFO_EXTENSION)); // get image extension
// valid image extensions
$valid_extensions = array('jpeg', 'jpg', 'png', 'gif'); // valid extensions
// rename uploading image
$userpic = rand(1000,1000000).".".$imgExt;
// allow valid image file formats
if(in_array($imgExt, $valid_extensions)){
// Check file size '5MB'
if($imgSize < 5000000) {
move_uploaded_file($tmp_dir,$upload_dir.$userpic);
}
else{
$errMSG = "Sorry, your file is too large.";
}
}
else{
$errMSG = "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
}
编辑
我发现无法将大小为 > 2MB
的图像移动到临时文件,但它通过了行 if($imgSize < 5000000)
。我该如何解决这个问题?
我发现这是由 php.ini
中的设置引起的,其中 upload_max_filesize
设置为 2M
。我希望这对面临与我相同问题的其他人有用。转到 php.ini
并查看 File Uploads 部分并找到行 upload_max_filesize = 2M
。将 2M
更改为满足您要求的任何大小并重新启动所有服务:)