我通过文件输入上传了一个文件。如果我使用print_r($ _ FILES),我可以获得多个信息,但它不会给出文件的完整本地路径(我的计算机上的路径,而不是服务器)。我如何得到这个?
我需要这个在CodeIgniter中使用FTP库。有关如何使用它来上传文件的文档是here。
正如你所看到的,它需要完整的本地路径,尽管我不知道为什么。
我通过文件输入上传了一个文件。如果我使用print_r($ _ FILES),我可以获得多个信息,但它不会给出文件的完整本地路径(我的计算机上的路径,而不是服务器)。我如何得到这个?
我需要这个在CodeIgniter中使用FTP库。有关如何使用它来上传文件的文档是here。
正如你所看到的,它需要完整的本地路径,尽管我不知道为什么。
由于文件上传路径是从服务器改变为服务器变量,我会建议你使用move_uploaded_file()
功能:
$target = "uploads/myfile.something";
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target)) {
// do something
}
这样,它会一直努力,无论道路是什么,即使它的变化。 target
可以是任何你想要的,它是相对于正在执行脚本的当前文件夹。
我解决了这个问题。
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
。
我想使用CI FTP类,而不是文件上传,因为它是一个更强大的类,并提供我需要建立一个文件管理器的工具。 – sehummel