Php 如何在codeigniter中获取上传文件的完整路径?
我使用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
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']
。否则,如果您的电子邮件发送代码在那里,请将其作为参数传递给您的模型方法。这似乎无法回答海报的问题。他们询问如何从文件数组获取完整路径;不知道如何删除文件。