1

サイトのユーザーごとにアップロード フォルダーを作成し、特定の領域に写真を表示しようとしています。codeigniter アップロード ヘルパーを動作させることができ、ファイルをフォルダーにアップロードできます。今、私はできるようにしたい:

  1. 特定のユーザーがアップロードした写真を、そのユーザーの ID に固有のオンザフライで作成されたそのユーザーのフォルダーに配置する

  2. 2 つのサイズの写真のサイズを自動調整します。サムネイルと大きなサイズ

IDを構文的にプラグインする方法と、フォルダーを作成してアップロードする方法がわからないだけで、これらのことを行う方法についての調査からセットアップしたと思います。

最後のステップは、ID に関連付けられた私の選択した場所にこれらの写真を表示することです。

これが私のコントローラーです

public function upload()
    {
        mkdir('./upload/' . $this->session->userdata('id'), 0777);
        $config['image_library'] = 'gd2';
        $config['source_image'] = 'PATH TO FOLDER??';
        $config['create_thumb'] = TRUE;
        $config['maintain_ratio'] = TRUE;
        $config['width']     = 75;
        $config['height']   = 50;

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

        $this->image_lib->resize();
        $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())
        {
            $error = array('error' => $this->upload->display_errors());

            $data['main_content'] = 'account/upload';
            $this->load->view('includes/templates/main_page_template', $data);
        }
        else
        {
            $data = array('upload_data' => $this->upload->data());

            $this->load->view('upload_success', $data);
        }
    }
4

1 に答える 1

1

ユーザーディレクトリを作成していますが、アップロードパスとして設定していません...

$user_folder = './upload/' . $this->session->userdata('id');
if(!is_dir($user_folder)){
    mkdir($user_folder, 0777);
}
...
$config['upload_path'] = $user_folder;
....
于 2013-03-19T19:30:49.347 に答える