Catch the path before saving the CI image

0

I'm using the following method to save an image, it's working correctly:

function do_upload()
{
    $config['upload_path'] = './uploads/';
    $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())
    {
        $error = array('error' => $this->upload->display_errors());

        $this->load->view('upload_form', $error);
    }   
    else
    {
        $data = array('upload_data' => $this->upload->data());

        $this->load->view('upload_success', $data);
    }
}

But I would like before saving the image, pass its route to a variable, but it is giving error that I must convert there, I am new to CI if they can help me.

I tried to do:

$teste = $this->upload->data();
echo $teste;

If I make a foreach it will show all paths what I would need is to show only that specific.

    
asked by anonymous 15.11.2016 / 03:37

2 answers

0

$this->upload->data() is a ARRAY associative . To assign the value of the "path" of the file to a variable we need to specify which of the ARRAY elements we want to use, which in your case should be 'file_path':

$teste = $this->upload->data();
$file_path = $teste['file_path'];
echo $file_path;

If you want a URL for the file you will have to create it, because as far as I read in the documentation, $this->upload->data() " does not return this.

This should work here:

$teste = $this->upload->data();
$file_url = base_url("diretorio_upload/{$teste['file_name']}");
echo $file_url;
    
16.11.2016 / 15:14
0

You will use:

$ test = $ this- > upload- > data ('file_path'); // Returns the absolute path of the upload, assigned in $ config ['file_path'].

$ test = $ this- > upload- > data ('full_path'); // Returns the absolute path of the file with the filename + extension.

    
26.11.2016 / 02:20