0

ユーザーがデフォルトのファイルをアップロードしない場合、codeigniter のアップロード クラスにデフォルトで (たとえばデータベースから) アップロードするファイルを提供するにはどうすればよいですか?

助けていただければ幸いです。:)

4

1 に答える 1

2

たとえば、ユーザープロファイルモジュールに基づいて説明します。

デフォルトの画像をアップロードフォルダに入れます。

/www/uploads/images/no-avatar.png

コントローラでは、次のようなことができます。

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

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

if ( ! $this->upload->do_upload('image')) // <input name="image" ... />
{
      $user['image'] = 'no-avatar.png';
}
else
{
      $data = array('upload_data' => $this->upload->data());

      $user['image'] = $data['file_name'];
 }

 // then you store the value in the database

簡単に言えば、すべてのユーザーが同じデフォルトのアバターを持っています。自分のアバターをアップロードすると、後者がデフォルトのアバターを上書きします。

于 2012-04-26T11:19:26.837 に答える