ユーザーがデフォルトのファイルをアップロードしない場合、codeigniter のアップロード クラスにデフォルトで (たとえばデータベースから) アップロードするファイルを提供するにはどうすればよいですか?
助けていただければ幸いです。:)
ユーザーがデフォルトのファイルをアップロードしない場合、codeigniter のアップロード クラスにデフォルトで (たとえばデータベースから) アップロードするファイルを提供するにはどうすればよいですか?
助けていただければ幸いです。:)
たとえば、ユーザープロファイルモジュールに基づいて説明します。
デフォルトの画像をアップロードフォルダに入れます。
/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
簡単に言えば、すべてのユーザーが同じデフォルトのアバターを持っています。自分のアバターをアップロードすると、後者がデフォルトのアバターを上書きします。