Php 如何在codeigniter中获取上传文件的完整路径?

Php 如何在codeigniter中获取上传文件的完整路径?,php,codeigniter,Php,Codeigniter,我使用codeIgniter文件上传类示例来上传文件。在我上传文件后的示例中,它将在上传成功视图页面中显示如下详细信息 Array ( [upload_data] => Array ( [file_name] => VenkataKrishna10.pdf [file_type] => application/pdf [file_path] => C:/xampp/htdocs/upload/application

我使用codeIgniter文件上传类示例来上传文件。在我上传文件后的示例中,它将在上传成功视图页面中显示如下详细信息

 Array
(
[upload_data] => Array
    (
        [file_name] => VenkataKrishna10.pdf
        [file_type] => application/pdf
        [file_path] => C:/xampp/htdocs/upload/application/
        [full_path] => C:/xampp/htdocs/upload/application/VenkataKrishna10.pdf
        [raw_name] => VenkataKrishna10
        [orig_name] => VenkataKrishna.pdf
        [client_name] => VenkataKrishna.pdf
        [file_ext] => .pdf
        [file_size] => 83.27
        [is_image] => 
        [image_width] => 
        [image_height] => 
        [image_type] => 
        [image_size_str] => 
    )

 )

之后,我尝试以数组格式查看所有上传的数据。我的问题是如何从上面的数组中获取完整的文件路径。我知道有一个变量
full\u path
,但我无法获取它。请帮助我。

成功上传后返回数组,您只需检索索引键:

控制器:

if ( ! $this->upload->do_upload())
{
     $data['error'] = $this->upload->display_errors();
}
else
{
   $data['upload_data'] = $this->upload_data();
}
$this->load->view('myview', $data);
myview.php

<p>Full path: <?php echo $upload_data['full_path'];?></p>
完整路径:

试着这样做:

         if ( ! $this->upload->do_upload())
        {
            $error = array('error' => $this->upload->display_errors());

        }
        else
        {
            $data = $this->upload->data();
                    // $data will contain full inforation
                    echo "Full path is:". $data['full_path'];

        }

从您的控制器使用

echo $data['upload_data']['full_path'];
从你的观点来看,使用

echo $upload_data['full_path'];

从您的帖子中,我假设您已经给出了某个变量的打印输出,比如
$file\u detail

如果要从
$file\u detail
获取完整路径,必须使用

$file_detail['upload_data']['full_path']

如果您想在插入数据库后从上传中删除文件,可以使用unlink($filename)

从上传中删除文件,您是否尝试过
$array['upload\u data']['full\u path']
?我尝试了这个方法,但也出现了一个PHP错误严重性:注意消息:未定义变量:数组文件名:controllers/upload.PHP行号:34try
$data['upload\u data']['full\u path']
来自controller和
$upload\u data['full\u path']
从viewnope中,它给出了错误………声明没有索引Hanks air4x………您可以在回答中写下一个,我将接受它………我想在控制器和$data['full_path'中使用它;这是我收到的错误遇到PHP错误严重性:注意消息:未定义索引:完整路径文件名:controllers/upload.PHP行号:34您确定上载成功吗?您试图在哪里获取索引?你能发布你的实际代码吗(虽然不是在这里的评论中,只是编辑你的问题)?错误的答案我不能否决投票这么幸运..答案是$data['upload_data']['full_path'],这取决于你如何存储上传的数据。如果您只是像这样存储:$data=$this->upload->data();然后通过$data['full_path']访问它;否则,如果存储方式为$data=array('upload_data'=>$this->upload->data());然后通过$data['upload_data']['full_path']访问它。这是一个简单的数组。嘿,我还有一个疑问,我需要将此文件作为邮件附件发送,因为我需要在$this->email->attach()中添加此文件路径;我该怎么写…….嘿,我还有一个疑问,我需要将此文件作为邮件附件发送,因为我需要在$this->email->attach()中添加此文件路径;我应该如何写……如果发送电子邮件的代码在控制器中,请使用
$data['upload\u data']['full\u path']
。否则,如果您的电子邮件发送代码在那里,请将其作为参数传递给您的模型方法。这似乎无法回答海报的问题。他们询问如何从文件数组获取完整路径;不知道如何删除文件。