如何获取使用$ _FILES上载的文件的完整本地路径

时间:2012-06-26 22:18:05

标签: codeigniter file-upload

我通过文件输入上传了一个文件。如果我print_r($ _ FILES),我可以获得几条信息,但它没有给我文件的完整LOCAL路径(我的计算机上的路径,而不是服务器)。我怎么得到这个?

我需要这个在CodeIgniter中使用FTP库。关于如何使用它来上传文件的文档是here

正如您所看到的,它需要完整的本地路径,但我不确定原因。

2 个答案:

答案 0 :(得分:0)

由于文件上传路径是一个从服务器更改为服务器的变量,我建议您使用move_uploaded_file()函数:

$target = "uploads/myfile.something";
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target)) {
    // do something
}

这样,无论路径是什么,即使它发生变化,它也会一直有效。 target可以是您想要的任何内容,它相对于正在执行脚本的当前文件夹。

答案 1 :(得分:0)

我解决了这个问题。

public function upload($file, $folder) {
  $this->CI->ftp->upload($_FILES['file']['tmp_name'], '/public_html/rest/of/path/' . $_FILES['file']['name'], 'ascii', 0775);
 }  

正在上传文件,因此您可以使用$FILES['file']['tmp_name']访问该文件。这是来自一个类,所以这就是我使用$this->CI的原因。否则,我只会使用$this