Php 使用CodeIgniter通过FTP上传文件
我正在尝试使用CodeIgniter中的FTP类上载文件。为此,我写了以下内容:Php 使用CodeIgniter通过FTP上传文件,php,codeigniter,ftp,Php,Codeigniter,Ftp,我正在尝试使用CodeIgniter中的FTP类上载文件。为此,我写了以下内容: $this->load->library('ftp'); $config['hostname'] = '127.0.0.1'; $config['username'] = 'localftp'; $config['password'] = ''; $config['debug'] = TRUE; $thi
$this->load->library('ftp');
$config['hostname'] = '127.0.0.1';
$config['username'] = 'localftp';
$config['password'] = '';
$config['debug'] = TRUE;
$this->ftp->connect($config);
$this->ftp->upload($_FILES['book_file']['tmp_name'], asset_url()."books/" . $_FILES['book_file']['name'], "ascii", 0775);
$this->ftp->close();
但它告诉我:
无法上载指定的文件。请检查您的路径
我正在使用XAMPP FileZilla连接到我的FTP主机。为此,我创建了没有密码的用户localftp
。并且该用户拥有主机上的所有权限
这是我的本地XAMPP服务器日志:
(000016)24-Dec-13 23:27:05 PM - (not logged in) (127.0.0.1)> Connected, sending welcome message...
(000016)24-Dec-13 23:27:05 PM - (not logged in) (127.0.0.1)> 220-FileZilla Server version 0.9.41 beta
(000016)24-Dec-13 23:27:05 PM - (not logged in) (127.0.0.1)> 220-written by Tim Kosse (Tim.Kosse@gmx.de)
(000016)24-Dec-13 23:27:05 PM - (not logged in) (127.0.0.1)> 220 Please visit http://sourceforge.net/projects/filezilla/
(000016)24-Dec-13 23:27:05 PM - (not logged in) (127.0.0.1)> USER localftp
(000016)24-Dec-13 23:27:05 PM - (not logged in) (127.0.0.1)> 331 Password required for localftp
(000016)24-Dec-13 23:27:05 PM - (not logged in) (127.0.0.1)> PASS
(000016)24-Dec-13 23:27:05 PM - localftp (127.0.0.1)> 230 Logged on
(000016)24-Dec-13 23:27:05 PM - localftp (127.0.0.1)> PASV
(000016)24-Dec-13 23:27:05 PM - localftp (127.0.0.1)> 227 Entering Passive Mode (127,0,0,1,205,219)
(000016)24-Dec-13 23:27:05 PM - localftp (127.0.0.1)> TYPE A
(000016)24-Dec-13 23:27:05 PM - localftp (127.0.0.1)> 200 Type set to A
(000016)24-Dec-13 23:27:05 PM - localftp (127.0.0.1)> STOR http://localhost/International/public/books/ftpupload.pdf
(000016)24-Dec-13 23:27:05 PM - localftp (127.0.0.1)> 550 Filename invalid
(000016)24-Dec-13 23:27:05 PM - localftp (127.0.0.1)> disconnected.
在最后一行的第二行,它说550文件名无效。。我想这是我的问题。。请任何人帮我解决这个问题。它就在日志中:
(000016)24-Dec-13 23:27:05 PM - localftp (127.0.0.1)> STOR http://localhost/International/public/books/ftpupload.pdf
您正在尝试命名该文件
http://localhost/International/public/books/ftpupload.pdf
不是有效的文件名
尝试删除资源\u url()
:
在
vsftpd.conf
位置etc/vsftpd
并使用>systemctl restart vsftpd
不要使用
asset-url()
检查此url。这里讨论的同样问题:谢谢@kumar_v,但在我的情况下,我的文件是通过ftp上传方法找到的,但路径给了我问题。我不确定这一点,但似乎只有我一个人。您可以在SO窗口的右侧看到一些相关问题。所以你可能会从他们那里得到一些想法谢谢@kumar_v,但仅仅因为我还没有找到任何解决方案。。我问了这个问题..先生,你能给我建议路径吗..我应该设置什么路径..根据我在这个问题中给出的路径,我将sharefolder作为E:/tempdir分配给用户localftp..当使用xamppI设置ftp用户时,更新了答案。请阅读文档:非常感谢,先生,我解决了我的问题..但不是在我的本地服务器上,而是在我的在线服务器上..为我完成了..再次感谢,先生..您的回答给了我想法...)
$this->ftp->upload($_FILES['book_file']['tmp_name'], "books/" . $_FILES['book_file']['name'], "ascii", 0775);