我正在尝试在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权限..
..任何想法可能出错?那些尾随斜杠总会被剥离吗?
答案 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;