我正在使用以下功能上传图片文件并调整大小。
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时,它什么都不返回
答案 0 :(得分:1)
答案 1 :(得分:1)
如果图像完美上传到服务器但没有调整大小 - 请检查php.ini(或.htaccess)中的memory_limit并尝试增加它。
答案 2 :(得分:0)
您的php.ini
限制了最大文件大小。更改它修改php.ini
值:
; Maximum allowed size for uploaded files.
upload_max_filesize = 400M
; Must be greater than or equal to upload_max_filesize
post_max_size = 400M