-1

2つの別々のビューから画像をアップロードしているので、ライブラリの下の自動ロードに、アップロードを含めました。

configにupload.phpというファイルがあります。これから、サイズ、ファイルタイプなどのパラメータを渡します。

          if( ??){
        $config['upload_path'] = realpath('x');
$config['allowed_types'] = 'gif';
$config['max_size'] = '1048';
$config['max_width']  = '1024';
$config['max_height']  = '768';
          }
           else{
        $config['upload_path'] = realpath('x');
$config['allowed_types'] = 'gif';
$config['max_size'] = '1048';
$config['max_width']  = '1024';
$config['max_height']  = '768';


              }

アップロードする場所が2つあるので、ファイルサイズ、タイプパラメーターが異なります。コントローラーは、どちらを使用するかをどのように判断しますか。if {}else{]条件に何を入れる必要がありますか。

よくわからない場合はお知らせください。

4

2 に答える 2

0

upload.phpで

 $config['first']['upload_path'] = realpath('x');
    $config['first']['allowed_types'] = 'gif';
    $config['first']['max_size'] = '1048';
    $config['first']['max_width']  = '1024';
    $config['first']['max_height']  = '768';

同様に2番目

 $config['second']['upload_path'] = realpath('x');
....
..

およびコントローラー内

$this->load->config('upload_values', TRUE);

$upload_values = $this->config->item('first');

$this->load->library('upload', $upload_values);
于 2013-03-19T17:16:29.400 に答える
0

あなたのコードはいくつかのことをしなければなりません:

(1) 各アップロード フォームにフラグを設定する必要があります (隠し変数は良い方法です)。これにより、ファイルを保存するフォルダーがわかります。このフラグを呼び出しましょう。upload_target

コントローラーで:

(2)upload_target投稿変数から取得

(3) 値に応じてupload_target、upload_config の値を必要に応じて設定し、アップロード クラスをロード/初期化します。

upload_config値の置き場所 config/ upload.php
で 2 次元配列を定義しようとすると、ライブラリ ローダーが混乱する可能性があります。

代わりに、という構成ファイルupload_settings.phpを定義し、次の配列を定義します。

$config['target1']['upload_path'] = './uploads_path_1/';
$config['target1']['allowed_types'] = 'gif|jpg|png';
$config['target1']['max_size']  = '100';
$config['target1']['max_width']  = '1024';
$config['target1']['max_height']  = '768';

$config['target2']['upload_path'] = './uploads_path_2/';
$config['target2']['allowed_types'] = 'gif|jpg|png';
$config['target2']['max_size']  = '100';
$config['target2']['max_width']  = '1024';
$config['target2']['max_height']  = '768';

アップロード コントローラーでは、次のようなことを行います。

$this->config->load('upload_settings', TRUE); 

upload_targetフォームの投稿変数から取得した値に応じて:

$upload_config_values = $this->load->config('target1','upload_settings'); 

また

$upload_config_values = $this->load->config('target2','upload_settings');

アップロード クラスをロードまたは初期化できるようになりました。

$this->load->library('upload', $upload_config_values);

実行可能なアプローチの概要を示すために、これをメタコードとして書きました。

隠し値フラグ/パラメータの設定
ファイルのアップロードに使用しているフォームごとに、次のように隠し値を追加します。
最初のフォームの場合:

2 番目の形式の場合:

投稿変数から値を取得し、そのupload_target値に基づいて正しい構成ファイルを選択します。

于 2013-03-19T19:37:56.670 に答える