我使用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);
}
}
谢谢。
答案 0 :(得分: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.*/