在函数Codeigniter中获取密钥输出

时间:2010-11-25 13:18:26

标签: php arrays json

function uploadify()
 {
  $file = $this->input->post('filearray');
  $data['json'] = json_decode($file);



  print_r($data);

  $name = $this->$json->{'file_name'};

  echo $name;

        $this->files->add($name);

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

数组([json] => stdClass对象(   [file_name] =>页脚,icpn246.jpg   [real_name] =>页脚,icpn2.jpg   [file_ext] => .jpg [file_size] => 1.75   [file_path] =>   /home/codeig/public_html/files/footer-icpn246.jpg   [file_temp] =>   / home / codeig / tmp / php8gFyPG))

以上是print_r($ data);

的输出

如何将关闭文件名的键从这个数组中拉出来???我试过了。

$name = $this->$json->{'file_name'};

$name = $this->json->[file_name];

还有更多组合可以提供帮助。

echo $ name;

2 个答案:

答案 0 :(得分:0)

我认为你应该这样做

$file = $this->input->post('filearray');
        $json = json_decode($file);

        $user_id = $this->session->userdata('user_id');
        //Add media to DB
        $data= array(
            'file_name' => $json->{'file_name'}, 
            'file_date' => date("Y-m-d H:i:s"),
            'file_type' => $json->{'file_ext'}, 
            'file_size' => $json->{'file_size'},
            'user_id' => $user_id);

此链接可以帮助您http://codeigniter.com/forums/viewthread/109751/P90/

答案 1 :(得分:0)

如果这是print_r($data)的输出,则必须引用$ data而不是$ this。无论如何,从print_r的结果可以看出变量是一个数组,“json”是包含具有file_name属性的对象的该数组的索引,因此您必须使用:

$data["json"]->file_name