我正在使用以下功能上传图像文件并调整大小。
public function upload()
{
include_once 'wideimage/WideImage.php';
$ext = $this->detect_type();
$file_name = 'uploads/' . time() . $ext;
if( move_uploaded_file($_FILES['file']['tmp_name'], $file_name ) )
{
$data[] = array(
'status' => true,
);
}
else
{
$data[] = array(
'status' => false,
);
}
$image = WideImage::load($file_name);
var_dump($image);
$resizedImage = $image->resize(639, 554)->saveToFile( 'uploads/' . time() . '_small' . $ext );
$thumb = 'uploads/' . time() . "_thumb" . $ext;
$data[] = array(
'thumb' => $thumb
);
$this->session->set_userdata('thumb', $thumb);
$resizedImage = $image->resize(566, 566)->saveToFile($thumb);
echo json_encode($data);
}
我非常适合小于 2 MB 的文件。但是当我上传大于 2 MB 的图像时,它不起作用。我转储 $image 对象创建它什么都不返回。
图像正在上传完美上传到服务器,但没有调整大小。请提出解决方案。
我正在使用这个图片库http://wideimage.sourceforge.net/
php.ini设置是
post_max_size = 32MB;
upload_max_size = 32MB;
max_execution_time = 300;
max_input_time = 100;
编辑:图像完美上传到服务器问题仅在文件大小大于 2 MB 时出现调整大小。
当文件大小小于 2MB 时var_dump($image)
输出
object(WideImage_TrueColorImage)[16]
protected 'handle' => resource(48, gd)
protected 'handleReleased' => boolean false
protected 'canvas' => null
protected 'sdata' => null
而当大于 2MB 时,它什么也不返回