使用imageMagic和Yii进行文件转换 - 无法上传图像

时间:2013-01-15 02:54:23

标签: php yii imagemagick

我正在使用以下方法使用image magic上传和转换PDF文件。 create方法正在运行,但图像未在相应目录中上载。

public function actionCreate()
{
    $model=new Alerts;

    // Uncomment the following line if AJAX validation is needed
    // $this->performAjaxValidation($model);

    if(isset($_POST['Alerts']))
    {
        $model->attributes=$_POST['Alerts'];
                    $model->infoFile=CUploadedFile::getInstance($model,'infoFile');
                    $pdf_file = $model->infoFile->name;
                    $save_to = $model->getUploadPath()."sample.jpg";
        if($model->save()){
                         exec('convert "'.$pdf_file.'" -colorspace RGB -resize 800 "'.$save_to.'"', $output, $return_var);

                    }
            $this->redirect(array('view','id'=>$model->id));
    }

    $this->render('create',array(
        'model'=>$model,
    ));
}

您能否提出可能存在的问题。

我可以确保网络服务器具有对$model->getUploadPath() Yii::getPathofAlias('webroot').'/uploads/';的写入权限,并且已在网络服务器中正确安装和配置了Image Magic。

2 个答案:

答案 0 :(得分:0)

出于安全原因,大多数主机上都禁用了exec功能。 你可以试试这个吗?

$uploadedFile->saveAs($model->getUploadPath()."sample.jpg");

只是为了验证Yii保存文件的方式是否有效。 如果这样可行,您应该查看:

  • 是您服务器上允许的exec()
  • 是Imagick正确安装/配置

答案 1 :(得分:0)

我的Ghostscript安装存在一些问题。所以我重新安装了ghostscript,现在一切都开始工作了。感谢大家调查此事。