0

我已经使用 CI 制作了一个上传表单。现在我的照片上传到 C:\xampp\htdocs\ci_new\uploads*.jpg

我希望这些图像可以从网络上访问,所以我可以将它们的路径添加到我的数据库中,但是当我尝试通过 localhost/ci_new/uploads/*.jpg 加载它们时,它给了我错误 - 图像文件不存在(所以我猜文件夹的东西错了)。

您能否告诉我我需要将图像放在哪里,以便该文件夹可以对访问者公开,因此我可以将路径填充为我的数据库中的 url。

如果需要,这是我的上传代码:

function do_upload(){
    $config['upload_path'] = './uploads';
    $config['allowed_types'] = 'gif|jpg|png'; 
    $config['max_size']='5000';
    $config['max_width'] = '1024';
    $config['max_height']= '768';

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

    if(!$this->upload->do_upload()) {
        $error = array('error'=>$this->upload->display_erros());
        $this->load->view('upload_form', $error);
    } else {
        $data=array('upload_data'=>$this->upload->data());
        //$this->db->insert('images', $data);
        $this->load->view('upload_success', $data);
        print_r($data);
    }
}

谢谢你。

4

1 回答 1

0

确保您已转换图像文件名,以便转换 URL 中不允许的特殊字符。

尝试:

$filename = explode('.', $filename);
$tmp_filename = str_replace(" ", "_", $filename[0]); 
                /* replaces space with '-' */
$tmp_filename = preg_replace('/[^A-Za-z0-9\-]/', '_', $tmp_filename); 
                /* removes special chars */
$tmp_filename = preg_replace('/_+/', '_', $tmp_filename); 
                /* replaces multiple '_' with single */ 
$filename = $tmp_filename.
            '.'
            .$filename[sizeof($filename)-1];
           /*Concatenating extension again.*/
于 2013-05-22T11:47:41.253 回答