无法生成缩略图从 CakePHP 控制器中的 phpThumb 生成缩略图
Unable to generate thumbnail generate thumbnails from phpThumb in controller in CakePHP
我正在使用 CakePHP 框架版本 2.6.1
。
我正在创建一个函数,它将获取属性图像并通过 phpThumb
创建其缩略图。
我的问题是我无法在我的函数中从 phpThumb
创建缩略图。我正在根据需要获取所有数据。这是我的控制器
我试过像这样加载 phpThumb
的助手
public $helpers = array('PhpThumb.PhpThumb');
但对我不起作用。然后我尝试从我的 parent AppController like
App::import('Helper', 'PhpThumb.PhpThumb');` 导入它,但不幸的是它也没有用。
我检查了我的 error logs
并发现了这个错误
PHP Fatal error: Call to a member function url() on a non-object in /home/gulfsothebysrealty/public_html/app/Controller/CronController.php on line 39
在 $propertyImages['Photo']['image_url']
我正在获取 propspace 服务器图像 url
如何在控制器中使用 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>';
}
}
}
}
}
伙计们,我得到了解决方案,
我犯了一个错误
我需要像我一样从 AppController
导入 phpThumb helper
App::import( 'Helper', 'PhpThumb.PhpThumb' );
然后我不得不为 phpThumb Helper
制作一个 object
$phpthumb = new PhpThumbHelper(new View());
现在我可以使用 $phpThumb
创建缩略图了
$propertyImageThumb = $phpThumb->url( $propertyImages['Photo']['image_url'], array(
'w' => 1349,
'h' => 500,
'zc' => 1
) );
我正在使用 CakePHP 框架版本 2.6.1
。
我正在创建一个函数,它将获取属性图像并通过 phpThumb
创建其缩略图。
我的问题是我无法在我的函数中从 phpThumb
创建缩略图。我正在根据需要获取所有数据。这是我的控制器
我试过像这样加载 phpThumb
的助手
public $helpers = array('PhpThumb.PhpThumb');
但对我不起作用。然后我尝试从我的 parent AppController like
App::import('Helper', 'PhpThumb.PhpThumb');` 导入它,但不幸的是它也没有用。
我检查了我的 error logs
并发现了这个错误
PHP Fatal error: Call to a member function url() on a non-object in /home/gulfsothebysrealty/public_html/app/Controller/CronController.php on line 39
在 $propertyImages['Photo']['image_url']
我正在获取 propspace 服务器图像 url
如何在控制器中使用 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>';
}
}
}
}
}
伙计们,我得到了解决方案,
我犯了一个错误
我需要像我一样从 AppController
导入 phpThumb helper
App::import( 'Helper', 'PhpThumb.PhpThumb' );
然后我不得不为 phpThumb Helper
object
$phpthumb = new PhpThumbHelper(new View());
现在我可以使用 $phpThumb
$propertyImageThumb = $phpThumb->url( $propertyImages['Photo']['image_url'], array(
'w' => 1349,
'h' => 500,
'zc' => 1
) );