Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用CodeIgniter通过FTP上传文件_Php_Codeigniter_Ftp - Fatal编程技术网

Php 使用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

我正在尝试使用CodeIgniter中的FTP类上载文件。为此,我写了以下内容:

        $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);