【发布时间】:2013-03-09 10:05:00
【问题描述】:
我在上传简单图片时遇到问题。我已经尝试过,只有在添加图像调整大小功能后,上传部分才能完美运行,但会出现未知错误。
public function post_add_image()
{
\Upload::process(array(
'path' => '../images/',
'normalize' => true,
'change_case' => 'lower',
'randomize' => true,
'ext_whitelist' => array('jpeg', 'jpg', 'gif', 'png'),
'max_size' => 1024 * 1024,
));
if (!\Upload::is_valid()) {
return $this->response(\Upload::get_errors());
} else {
foreach (\Upload::get_files() as $file) {
// Here comes ERROR
$image = Image::load($file['file'], false, $file['extension']);
$image->crop_resize(800, 600);
$image->save('test');
}
}
//\Upload::save();
return $this->response(\Upload::get_files());
}
还有错误:
RuntimeException [错误]:库不支持 /tmp/phpOnZReS 的这种文件类型。
COREPATH/classes/image/driver.php@line
我对上传的文件做了var_dump:
array(10) {
["name"]=>
string(27) "crunchbang-logo-minimal.png"
["type"]=>
string(9) "image/png"
["error"]=>
bool(false)
["size"]=>
int(278)
["field"]=>
string(10) "pictures:0"
["file"]=>
string(14) "/tmp/phpDdTLwJ"
["errors"]=>
array(0) {
}
["extension"]=>
string(3) "png"
["filename"]=>
string(23) "crunchbang-logo-minimal"
["mimetype"]=>
string(9) "image/png"
}
【问题讨论】:
-
您使用的是什么版本的 FuelPHP?强制图像扩展仅在 1.3 版中可用。
-
好吧,我使用的是 1.5 版 linux,是的,gd 扩展已加载。至少在图像已上传到服务器后,图像大小调整工作,但此移动需要额外的资源。
-
必须检查上传路径是否正确?您可以尝试将图像放在资产文件夹中而不是 ../image 中吗?
-
是的,路径是正确的,即使燃料向我显示警告操作将完成并创建文件,但这不是完美的解决方案。
-
这个错误似乎与“图像加载”方法有关,与上传无关。 “图片加载”只能加载公共资产文件夹中的图片,确定您的上传功能将新图片放在那里吗?