0

我正在使用以下方法使用图像魔术上传和转换 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 已在网络服务器中正确安装和配置。

4

2 回答 2

0

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

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

只是为了验证 Yii 保存文件的方式是否有效。如果这有效,您应该研究:

  • 您的服务器上是否允许 exec()
  • Imagick 是否正确安装/配置
于 2013-01-15T08:46:52.427 回答
0

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

于 2013-01-15T16:35:05.743 回答