试图在Codeigniter上传照片 - 没有找到我的上传文件夹 - 想法为什么?

时间:2012-11-15 17:57:45

标签: php codeigniter

我正在尝试在CI注册过程中上传个人资料照片($ me!=='经验丰富')

这是我的方法......没什么奇怪的

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权限..

..任何想法可能出错?那些尾随斜杠总会被剥离吗?

3 个答案:

答案 0 :(得分:2)

base_url会给你......等待它......一个网址:)

上传需要路径

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

或者您可以使用相对路径:

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

但你必须给它一个路径,而不是URL。

答案 1 :(得分:1)

正如@stormdrain所指出的,base_url()是获取URL而不是文件系统路径。尝试:

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

答案 2 :(得分:-1)

试试这个

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

或在index.php里面附加这个

define('UPLOADS', 'upload_pic');

然后将config设置为

$config['upload_path'] = UPLOADS;