首页 > 解决方案 > 文件上传时数组到字符串转换错误,显示错误但没有成功数据

问题描述

我的代码在上传失败时工作正常,但在上传成功时错误被抛出为未定义的变量:数据。谁能帮助我如何将成功数据传递给查看

public function index()
{
    $this->load->view('Pdf', array('error' => ' ' ));
}

public function do_upload()
{
    if($this->upload->do_upload())
    {
        $data['success']= $this->upload->data();
    }
    else
    {
        $data['error'] =  $this->upload->display_errors();
    }
}

看法:

 <?php echo $error;?>
 <?php echo $data["file_name"];?>

标签: codeigniter-3

解决方案


当您使用 上传时$this->upload->data(),您会得到一个数组,而不是变量或字符串。

例如,下面是图像上传的结果数组。

Array
(
    [file_name] => 
    [file_type] => 
    [file_path] => 
    [full_path] => 
    [raw_name] => 
    [orig_name] => 
    [client_name] => 
    [file_ext] => 
    [file_size] => 
    [is_image] => 
    [image_width] => 
    [image_height] => 
    [image_type] => 
    [image_size_str] => 
)

在这里,您正在使用 echo 而不是 print_r 打印一个数组。

echo用于输出数据。

print_r用于打印数组。

所以这个“文件上传时数组到字符串转换错误”的解决方案是,

更改echo $data["file_name"];==>print_r($data);print_r($data['success'])


推荐阅读