我正在制作一个相册,用户可以在其中上传自己的照片。我希望用户能够向网站发送任何大小的图片,如果超过 5Mb,则使用 php 上传类将其处理为 5Mb。
该文件的上传适用于任何小于 php.ini 文件中配置的图片大小,该文件为 30Mb。原始图片被上传到一个临时文件夹以进行处理。
我可以轻松地处理图片以创建拇指和主图片,但是当我想生成大文件(处理到 5Mb 供用户下载)时,它不起作用。
这是我用来处理图片的一段代码:
$handle = new upload("../".$path_picture_temp.$this->imgName);
if ($handle->uploaded) {
$handle->image_convert = 'jpg';
$handle->jpeg_size = 5242880;
$handle->process("../".$path_picture_full);
}
if ($handle->uploaded) {
$handle->image_resize = true;
$handle->image_x = 231;
$handle->image_y = 153;
$handle->image_ratio_crop = true;
$handle->image_convert = 'jpg';
$handle->jpeg_quality = 95;
$handle->process("../".$path_picture_thumb);
}
if ($handle->uploaded) {
$handle->image_resize = true;
$handle->image_x = 1000;
$handle->image_y = 1000;
$handle->image_ratio = true;
$handle->image_convert = 'jpg';
$handle->jpeg_quality = 95;
$handle->process("../".$path_picture_main);
}
当我上传一张低于 6Mb 的图片时,即使速度很慢,它也能正常工作,但如果我上传一张超过 6Mb 的图片,它就不起作用,它甚至不处理任何东西。
当我开始处理大图片的第一部分时,一切都适用于任何文件大小。有谁知道为什么会这样?