4

UPLOAD_DIRどこでも使用できるように、定数 (または同等のもの)を定義するにはどうすればよいですか?

これをアプリケーション構成パラメーターとして試しました

'params'=>array(
            'upload_dir'=>Yii::app()->baseUrl . '/images/uploads/',
),

ただし、Yii::app()->baseUrl構成ファイル内では使用できません。

4

1 に答える 1

13

index.phpへの呼び出しの後Yii::createApplicationおよび前に、これを内部で実行できますYii::app()->run()

define ('UPLOAD_DIR', Yii::app()->baseUrl . '/images/uploads/');

その後、他の PHP 定数と同じように使用しますecho UPLOAD_DIR

編集:createApplication afterと beforeと言ったときはrun、まさにそれを意味していました (また、前者のより一般化されたバージョンであるacreateWebApplicationと a の両方があるという意味でもありません)。createApplication

したがって、現在持っている場合

Yii::createWebApplication(...)->run();

あなたはそれを分割する必要があります

Yii::createWebApplication(...);
define ('UPLOAD_DIR', Yii::app()->baseUrl . '/images/uploads/');
Yii::app()->run();

もう 1 つのオプションは、別のプロパティをアプリケーション クラスに追加することです。たとえば、ディレクトリclass MyApplication内にがある場合は、次のprotected/componentsように簡単に実行できます。

class MyApplication extends CWebApplication {
    // ...other code...
    public function getUploadDir() {
        return $this->baseUrl.'/images/uploads/';
    }
}

次に、これに としてアクセスしますYii::app()->uploadDir

于 2012-04-25T11:26:12.737 に答える