我试图上传图片并在我的图片表格中保存图片的完整路径,但我不知道如何从$this->upload->data()
数组中获取完整路径,这是我的代码。
//assigns the user's sessioned id to the variable $user_id
$user_id = $this->session->userdata('user_id');
//sets rules for the image that is being uploaded
$config['overwrite'] = FALSE; //does not overwrite any image adds +1 instead
$config['encrypt_name'] = FALSE; //encrypts the images name
$config['remove_spaces'] = TRUE; //removes spaces from the images name
$config['file_name'] = $user_id."_0.jpg";/*gives the image a new name combination of the user's id and a number*/
$config['upload_path'] = './uploads'; // the uploaded images path
$config['allowed_types'] = 'jpg|png';/*types of image extentions allowed to be uploaded*/
$config['max_size'] = '2048';// maximum file size that can be uploaded (2MB)
if ( ! is_dir($config['upload_path']) ) /* this checks to see if the file path is wrong or does not exist.*/
die("THE UPLOAD DIRECTORY DOES NOT EXIST"); // error for invalid file path
$this->load->library('upload',$config); /* this loads codeigniters file upload library*/
//this checks for errors incase the image upload breaks a set rule.
if (! $this->upload->do_upload() ) {
echo "UPLOAD ERROR ! ".$this->upload->display_errors(); //image error
}
else {
// success message to show that the image was successfuly uploaded.
echo "THE IMAGE HAS BEEN UPLOADED : "; var_dump($this->upload->data() );
}
答案 0 :(得分:2)
我需要做的就是将数组$this->upload->data();
存储在变量中,例如
$image_info = $this->upload->data();
并且从$image_info
变量我可以访问图像属性。
$image_info['full_path'];
$image_info['file_name'];
答案 1 :(得分:0)
您应该在转储中看到$this->upload->data()
以下数组:
Array
(
[file_name] => mypic.jpg
[file_type] => image/jpeg
[file_path] => /path/to/your/upload/
[full_path] => /path/to/your/upload/jpg.jpg
[raw_name] => mypic
[orig_name] => mypic.jpg
[client_name] => mypic.jpg
[file_ext] => .jpg
[file_size] => 22.2
[is_image] => 1
[image_width] => 800
[image_height] => 600
[image_type] => jpeg
[image_size_str] => width="800" height="200"
)
所以你可以简单地使用类似的东西:
if ($uploaded_image = $this->upload->do_upload() ){
// success message to show that the image was successfuly uploaded.
echo "THE IMAGE HAS BEEN UPLOADED : ";
$full_path = $uploaded_image['full_path'];
} else {
echo "UPLOAD ERROR ! ".$this->upload->display_errors();//image error
}