0

I have below controller function of codeigniter,

public function add_attachments($openid)
{
            $config = array(
                    'upload_path' => './uploads/attachments/',
                    'allowed_types' => 'gif|jpg|png|jpeg|doc|pdf',
                    'max_size' => '1024000000',
                    'multi' => 'all'
                ); 
            $this->load->library('upload', $config);   
            if ( ! $this->upload->do_upload())
            {
                $error = array('error' => $this->upload->display_errors()); 
            }
            else
            {
                $data = $this->upload->data();  
            }
            $new_array = array_column ($data, 'full_path');         
}

I can get output of $new_array,

But i want to use this output in another function which is just below that in same class,

example,

public function getback()
{
print_r($new_array);
}

in short, once 1 function is executed, some values stored in variable and need to use in another function,

How can i do that?

Thanks,

1
  • use this line in $this->getback($new_array); add_attachments in this function Commented Jun 18, 2015 at 7:34

1 Answer 1

1

Simply pass that value within that function as

public function add_attachments($openid) {
    $config = array(
        'upload_path' => './uploads/attachments/',
        'allowed_types' => 'gif|jpg|png|jpeg|doc|pdf',
        'max_size' => '1024000000',
        'multi' => 'all'
    );
    $this->load->library('upload', $config);
    if (!$this->upload->do_upload()) {
        $error = array('error' => $this->upload->display_errors());
    } else {
        $data = $this->upload->data();
    }
    $new_array = array_column($data, 'full_path');
    $this->getback($new_array);
}

public function getback($new_array = array()) {
    print_r($new_array);
}

Edited

Passing data using js

public function add_attachments($openid) {
   //your code...
   echo json_encode($new_array);exit;
}

Now within your ajax success function

 success:function(data){
     var data = $.parseJSON(data)
     //send it to your another function
 }
Sign up to request clarification or add additional context in comments.

3 Comments

by adding $this->getback($new_array); in add_attachment function will also execute this method, which i don't want because getback() method is run with another AJAX request, in short there are two AJAX request in form submit button, one is to upload files with dropzone, and then it will submit form as ajax to get return values
Try using echo json_encode($new_array);exit; and then you'll get that array within your success function and you can pass that value from there into another function
super thanks, i could send it with json and parseJSON in jquery, passed it to another function and that was processed by 2nd function on PHP, now worked, thanks

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.