1

CIへの登録プロセス中にプロフィール写真をアップロードしようとしています($ me!=='experienced')

これが私の方法です...何も奇妙なことではありません

function do_upload()
{
    $config['upload_path'] = base_url('/upload_pic/');
    $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() )
    {
        $data['message'] = $this->upload->display_errors() . $config['upload_path'];
        $this->load->view('profile_photo_view', $data);
    }
    else
    {
        $data['message'] = $this->upload->data();
        $this->load->view('upload_success', $data);
    }
}

..しかしそれは失敗しています。ご覧のとおり、アップロードパスが失敗ページに渡されて表示されます。これが表示されています。

The upload path does not appear to be valid. 
http://localhost:8888/MY_SITE/upload_pic

それ私のアップロードフォルダです。そして、私はそれに完全な777権限を持っています。

..何が間違っている可能性があるか考えていますか?そして、末尾のスラッシュは常にそのように削除されますか?

4

3 に答える 3

2

base_urlあなたに...それを待つ...URLを与えるでしょう:)

アップロード用のパスが必要です。

$config['upload_path'] = '/full/path/to/upload_pic/';

または、相対パスを使用できます。

$config['upload_path'] = '../upload_pic';

ただし、URLではなくパスを指定する必要があります。

于 2012-11-15T18:18:25.253 に答える
1

@stormdrainが指摘したようにbase_url()、ファイルシステムパスではなく、URLを取得するためにあります。試す:

$config['upload_path'] = dirname(FCPATH) . '/upload_pic/';
于 2012-11-15T18:20:12.777 に答える
-1

これを試して

$config['upload_path'] = base_url() . '/upload_pic/';

またはindex.php内でこれを追加します

define('UPLOADS', 'upload_pic');

次に、configをに設定します

$config['upload_path'] = UPLOADS;
于 2012-11-15T18:01:08.443 に答える