我正在使用meioupload,一切正常,直到我尝试制作缩略图。然后我只能看到一种说明
的phpThumb错误消息"C:/wamp/cakephp/vendors/phpTmub/img/uploads/product/filename/image.png" does not exist
我是cakePHP的新手,所以我以前从未遇到过这个问题。有谁知道我该怎么办?
这是我的型号代码:
var $actsAs = array(
'MeioUpload' => array(
'filename' => array(
'create_directory' => true,
'allowed_mime' => array('image/jpeg', 'image/pjpeg', 'image/png'),
'allowed_ext' => array('.jpg', '.jpeg', '.png'),
'zoomCrop' => true,
'thumbsizes' => array(
'normal' => array('width' => 400, 'height' => 300),
'small' => array('width' => 80, 'height' => 80,'maxDimension' => '', 'thumbnailQuality' => 100, 'zoomCrop' => true),
),
'default' => 'default.jpg'
)
));
更新
我为cakePHP 2.0找到了特殊的phpThumb,所以Path改为:
"C:/wamp/cakephp/img/uploads/product/filename/image.png"
如果我在浏览器中打开默认图像,则路径如下:
localhost:8080/cakephp/img/uploads/product/filename/image.png
由于
答案 0 :(得分:2)
我解决了这个问题,也许不是很优雅,但它确实有效! 正如我所说,我第一次为cakePHP下载了特殊版本的phpThumb。
这是链接:https://github.com/simkimsia/phpThumb-for-cakephp-2.0
我的路径出现问题后,因为我的图片位于文件夹中:C:\wamp\www\cakephp\app\webroot\img\uploads\product\filename\image.png
所以我必须找到这部分代码(从第1078行开始):
if ($this->useCake) {
if ($this->config_document_root != null) {
$AbsoluteFilename = $this->config_document_root.DIRECTORY_SEPARATOR.$filename;
} else {
$AbsoluteFilename = WWW_ROOT.DIRECTORY_SEPARATOR.$filename;
}
}
编辑适合我文件夹的路径:
$AbsoluteFilename = $this->config_document_root.DIRECTORY_SEPARATOR.'cakephp'.DIRECTORY_SEPARATOR.'app'.DIRECTORY_SEPARATOR.'webroot'.DIRECTORY_SEPARATOR.$filename;
$AbsoluteFilename = WWW_ROOT.DIRECTORY_SEPARATOR.'cakephp'.DIRECTORY_SEPARATOR.'app'.DIRECTORY_SEPARATOR.'webroot'.DIRECTORY_SEPARATOR.$filename;
现在它的工作完美......
答案 1 :(得分:0)
首先
// public: constructor
function phpThumb() {
.....
//comment line
//$this->config_document_root = (!empty($_SERVER['DOCUMENT_ROOT']) ? $_SERVER['DOCUMENT_ROOT'] : $this->config_document_root);
.....
}
//and put the constant CakePHP Var WWW_ROOT (Full path to the webroot.)
$this->config_document_root = WWW_ROOT;
//and if this don't work.. put your real path in linux, or windows
//$this->config_document_root = '/srv/www/htdocs/sic/app/webroot/';
在我的webroot内部,有一个estructure'Usuarios / ID_Prestamo / IDUsuario /'的文件夹,一切都很好上传图片但拇指没有..所以下载完最后一个版本的phpThumb后,我看到显示错误文件不存在(URL格式错误,对于原始JPG文件),在下载了CakePhp的特殊版本并更改了所提到的行..并且一切正常...我使用OpenSuse Linux,Apache2,与Cake 2.4.2
注意:我确认如果没有zoomCrop它不起作用,这是我的结构
'dir' => 'galeria/', //main folder webroot/galeria/
'createDirectory' => true,
'maxSize'=>'5 Mb',
'allowedExt' => array('.jpg','.jpeg','.png'),
'zoomCrop' => true,
'thumbsizes' => array(
'small' => array('width'=>165, 'height'=>115),
'medium' => array('width'=>800, 'height'=>600)
),