我有一个问题,当我使用do_upload时,它总是返回一个错误,说‘上传路径似乎无效’。
function save_blog(){
$config['upload_path'] = 'ftp://username:password@hostname:port/public_html/img/blog/';
//$config['upload_path'] = 'img/blog/';
$config['allowed_types'] = 'gif|jpg|png';
get_instance()->load->library('upload', $this->config);
echo $config['upload_path'];
if($this->upload->do_upload('myDoc'))
{
echo "file upload success";
}
else
{
echo $this->upload->display_errors();
}
}在我的服务器上有路径/public_html/img/blog/
PS*当我使用http://ellislab.com/codeigniter/user-guide/libraries/file_uploading.html这样的简单代码时,我可以使用do_upload
但是在我的项目中,我必须一次点击上传2个文件,所以我首先尝试使用$this->upload->do_upload('myDoc')作为我的一个输入,但它仍然出错。
发布于 2013-09-14 19:25:05
更新:
如果您需要上传文件,首先通过您的第一种方法将文件上传到本地文件夹,然后使用FTP 将本地文件上传到FTP服务器。
我想如果你需要通过FTP上传。用于建立到FTP的有效连接。
http://ellislab.com/codeigniter/user-guide/libraries/ftp.html
Codeigniter.的示例
$this->load->library('ftp');
$config['hostname'] = 'ftp.example.com';
$config['username'] = 'your-username';
$config['password'] = 'your-password';
$config['debug'] = TRUE;
$this->ftp->connect($config);
$this->ftp->upload('/local/path/to/myfile.html', '/public_html/myfile.html', 'ascii', 0775);
$this->ftp->close();示例仅用于PHP.(致谢http://www.jonasjohn.de/snippets/php/ftp-example.htm)
// FTP access parameters
$host = 'ftp.example.org';
$usr = 'example_user';
$pwd = 'example_password';
// file to move:
$local_file = './example.txt';
$ftp_path = '/data/example.txt';
// connect to FTP server (port 21)
$conn_id = ftp_connect($host, 21) or die ("Cannot connect to host");
// send access parameters
ftp_login($conn_id, $usr, $pwd) or die("Cannot login");
// turn on passive mode transfers (some servers need this)
// ftp_pasv ($conn_id, true);
// perform file upload
$upload = ftp_put($conn_id, $ftp_path, $local_file, FTP_ASCII);
// check upload status:
print (!$upload) ? 'Cannot upload' : 'Upload complete';
print "\n";
/*
** Chmod the file (just as example)
*/
// If you are using PHP4 then you need to use this code:
// (because the "ftp_chmod" command is just available in PHP5+)
if (!function_exists('ftp_chmod')) {
function ftp_chmod($ftp_stream, $mode, $filename){
return ftp_site($ftp_stream, sprintf('CHMOD %o %s', $mode, $filename));
}
}
// try to chmod the new file to 666 (writeable)
if (ftp_chmod($conn_id, 0666, $ftp_path) !== false) {
print $ftp_path . " chmoded successfully to 666\n";
} else {
print "could not chmod $file\n";
}
// close the FTP stream
ftp_close($conn_id);https://stackoverflow.com/questions/18799309
复制相似问题