0

次の方法を使用して、画像マジックを使用してPDFファイルをアップロードおよび変換しています。作成方法は機能していますが、画像はそれぞれのディレクトリにアップロードされていません。

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,
    ));
}

何が問題なのか教えてください。

Web サーバーに書き込み権限が$model->getUploadPath()ありYii::getPathofAlias('webroot').'/uploads/';、Image Magic が Web サーバーに適切にインストールおよび構成されていることを確認できます。

4

2 に答える 2

0

exec機能は、セキュリティ上の理由からほとんどのホストで無効になっています。それがうまくいくなら、あなたはこれを試すことができますか?

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

Yiiのファイル保存方法が機能するかどうかを確認するだけです。これが機能する場合は、以下を調べる必要があります。

  • サーバーでexec()が許可されていますか
  • Imagickは正しくインストール/構成されていますか
于 2013-01-15T08:46:52.427 に答える
0

Ghostscript のインストールに問題がありました。それで、ゴーストスクリプトを再インストールすると、すべてが機能し始めました。問題を調べてくれてありがとう。

于 2013-01-15T16:35:05.743 に答える