3

我尝试使用 codeigniter ftp 类上传文件。

$this->load->library('ftp');

    $config['hostname'] = 'www.domain.com';

    $config['username'] = 'xxxxxxxxx';

    $config['password'] = 'xxxxxxxx';

    $config['port']     = 21;

    $config['passive']  = FALSE;

    $config['debug']    = TRUE;

    $this->ftp->connect($config);

    $this->ftp->upload('C:\Users\SYSTEM2\Desktop\checking\ash.jpg\' ,  base_url().'uploads/myfolder/ash.jpg/');

    $this->ftp->close();

但显示此错误

“找不到源文件。请检查您的路径。” 任何人请帮我解决这个问题...

4

3 回答 3

1

试试$this->ftp->upload('C:/Users/SYSTEM2/Desktop/checking/ash.jpg' , '/www/uploads/myfolder/');它对我有用祝你好运

于 2013-03-16T11:45:16.470 回答
1

取而代之的是

$this->ftp->upload('C:\Users\SYSTEM2\Desktop\checking\ash.jpg\' ,  base_url().'uploads/myfolder/ash.jpg/');

利用

 $this->ftp->upload('C:\Users\SYSTEM2\Desktop\checking\ash.jpg','/www/uploads/myfolder/ash.jpg');

但是您应该知道 ftp 服务器中的根路径,有时它是“/www/yourdomen/”。

于 2013-03-16T09:36:38.637 回答
0

Codeigniter ftp 类首先检查文件是否存在然后执行上传你看看 codeigniter 文件夹system\libraries\FTP.php行 238中的代码

if ( ! file_exists($locpath))
{
 $this->_error('ftp_no_source_file');
 return FALSE;
}

根据php.net站点,如果您将 file_exists 与 Web 服务器外部的本地文件一起使用,则本地文件路径的格式应为 //computername/share/filename。

这意味着您必须将文件放在具有公共权限的共享文件夹中。

如果您设置正确并确保权限允许网络用户访问该文件,那么它可能会起作用。

我建议使用表单而不是手动编写文件路径,然后您可以编写如下代码:

$file=$_FILES["userfile"]["name"];
$this->ftp->upload($file ,  './upload','ascii', 0775);
于 2013-11-15T01:39:47.203 回答