0

codeigniter に画像ファイルをアップロードしようとしています。そのために私は書いた:

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

if($this->load->library('upload', $config)){
echo 'Loaded !';
}else{
echo 'Unable to load';
}

if ( ! $this->upload->do_upload())
{
    $error = array('error' => $this->upload->display_errors());

    echo 'Error';
    //$this->load->view('upload_form', $error);
}
else
{
    $data = array('upload_data' => $this->upload->data());

    echo 'Uploaded';
    //$this->load->view('upload_success', $data);
}

しかし、次のようなエラーが発生しUnable to load Errorます。ディレクトリを確認すると/application/libraries、空です。ライブラリをupload自分で作成する必要がありますか、それとも不足していますか? を使用してCodeIgniter 2.1.4います。

4

3 に答える 3

0

ライブラリを作成する必要はありません。ただし、コードから、ファイルの保存に使用する正しいパスを指定する必要があると思います。「./uploads/」ではなく「/uploads/」と書きました。ビューでもマルチパートフォームを使用していることを確認してください。それは私が見ることができる最も顕著な問題です。ディレクトリを切り替えて別のパスを追加してコードをテストし、フォルダーに対する読み取り/書き込みアクセス権があることを確認してください。幸運を。

于 2016-10-11T10:50:28.997 に答える
0

あなたが enctype="multipart/form-data" を持っているかどうかを尋ねたかったのですが、コントローラーとモデルのコーディングもすべて入れて、それを理解できるようにし、入力ファイル名は userfile にする必要があります

于 2013-09-14T07:38:55.220 に答える
0

いいえ、ライブラリを作成する必要はありません。System/libraries/ディレクトリで見つけることができます。ただし、これらは考慮すべきいくつかのアドバイスです。

  1. @saurabh2836 が言うように、html フォームにenctype="multipart/form-data"属性があることを確認してください。
  2. /uploads/755 または 777 パーミッションとして、書き込み可能である必要があります。

また、Codeigniter がスローする「実際の」エラーを確認するために変更echo 'Error';します。print_r($error)

于 2013-09-15T17:32:03.643 に答える