我正在使用CakePHP框架版本2.6.1
。
我正在创建一个能够获取属性图像的函数,并将按phpThumb
创建缩略图。
我的问题是我无法在我的函数中从phpThumb
创建缩略图。我正在获取所有数据。这是我的控制器
我尝试像这样加载phpThumb
的帮助
public $helpers = array('PhpThumb.PhpThumb');
但对我不起作用。然后我尝试从我的父AppController like
App :: import('Helper','PhpThumb.PhpThumb')导入它;`但不幸的是它也没有用。
我查看了error logs
并发现了此错误
PHP致命错误:在第39行的/home/gulfsothebysrealty/public_html/app/Controller/CronController.php中调用非对象上的成员函数url()
在$propertyImages['Photo']['image_url']
我正在获取propspace服务器图像网址
如何在控制器中使用phpThumb
生成缩略图?
class CronController extends AppController {
public function index() {
$properties = $this->Property->find( 'all', array(
'conditions' => array(
'Property.thumb_updated' => 0
),
'limit' => 5,
'order' => array( 'Property.id' => 'desc' )
)
);
foreach ( $properties as $property ) {
$propertyId = $property['Property']['id'];
$data = array( 'id' => $propertyId, 'thumb_updated' => 1 );
$this->Property->save( $data );
$getImages = $this->Property->Photo->find( 'all', array(
'conditions' => array(
'Photo.property_id' => $propertyId,
),
'order' => array( 'Photo.property_id' => 'desc' )
) );
foreach ( $getImages as $propertyImages ) {
if ( ! empty( $propertyImages['Photo']['image_url'] ) ) {
/*line 39*/ $propertyImageThumb = $this->PhpThumb->url( $propertyImages['Photo']['image_url'], array(
'w' => 1349,
'h' => 500,
'zc' => 1
) );
echo '<pre>';
print_r( $propertyImageThumb );
echo '</pre>';
}
}
}
}
}
答案 0 :(得分:2)
我得到了解决方案的人,
我犯了一个错误
我需要像{I}一样从phpThumb helper
导入AppController
App::import( 'Helper', 'PhpThumb.PhpThumb' );
然后我必须为object
phpThumb Helper
$phpthumb = new PhpThumbHelper(new View());
此后,我可以使用$phpThumb
$propertyImageThumb = $phpThumb->url( $propertyImages['Photo']['image_url'], array(
'w' => 1349,
'h' => 500,
'zc' => 1
) );