Hy,我有一个页面,用户可以上传图像(一次一个,第二个上传覆盖第一个)。
当有人选择的图像超过5 MB时,脚本会上传图像,但会运行另一个脚本,调整图像大小以使其缩小。
所以,我得到图像大小,并设置最大尺寸:
$size = $_FILES["userImage"]["size"]
$maxSize = 5000000 //this should be 5 MB, right?
然后,我将图像移动到具有此行的文件夹
move_uploaded_file( $tmpName, "../user_img/".$sessionId."/".$sessionId."_img.".$type);
最后,如果图像高于5 MB
,我想调整图像大小if($size > $maxSize){
include('resizeImage2.php');
//indicate which file to resize (can be any type jpg/png/gif/etc...)
$file = "../user_img/".$sessionId."/".$sessionId."_img.".$type;
//indicate the path and name for the new resized file
$resizedFile = $file;
//call the function (when passing path to pic)
//smart_resize_image($file, null, 1200, 0, true, $resizedFile, true, false, 100 );
//call the function (when passing pic as string)
smart_resize_image(null , file_get_contents($file), 1200 , 0 , true , $resizedFile , true , false ,100 );
}
resizeImage2.php是我在互联网上找到的address
当我尝试从我的PC上传图像为7MB,分辨率为10004 x 10967时,会出现问题。我收到错误
允许的内存大小为62914560字节耗尽(尝试分配40016字节)
我知道我可以更改php.ini中的内存限制,但我想知道是否有其他方法可以使这项工作?我的任何剧本写得不好吗?
提前致谢!
答案 0 :(得分:2)
试试这个把它放在页面上的标题 -
<?php
ini_set('memory_limit','16M');
?>
答案 1 :(得分:2)
您可以通过添加或更新类似于以下内容的行来增加php.ini
文件中的上传文件限制:
memory_limit = 128M
答案 2 :(得分:0)
有两种技巧可以增加php中的最大上传大小
按.htaccess
php_value upload_max_filesize 10M
按php.ini
个文件增加文件上传大小
upload_max_filesize = 10M