我通过文件输入上传了一个文件。如果我print_r($ _ FILES),我可以获得几条信息,但它没有给我文件的完整LOCAL路径(我的计算机上的路径,而不是服务器)。我怎么得到这个?
我需要这个在CodeIgniter中使用FTP库。关于如何使用它来上传文件的文档是here。
正如您所看到的,它需要完整的本地路径,但我不确定原因。
答案 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
。