2013-03-16 85 views
2

我试图使用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(); 

但显示这个错误

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

+2

我很惊讶你没有得到一个语法错误。 – deceze 2013-03-16 08:59:42

回答

0

而是这个

$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 /”。

+0

没有人知道他是否有'/ www/uploads /'那里... – 2013-03-16 09:38:06

+0

$ fname ='C:\\ Users \\ SYSTEM2 \\ Desktop \\ checking \\ ash.jpg'; \t \t \t如果(file_exists($ FNAME)){ \t \t \t $这 - > FTP->上传($ FNAME, '/www/public/myfolder/ash.jpg'); \t \t \t} else { \t \t \t echo'File not found!'; \t \t \t} output: - “File not found!” – Ammu 2013-03-16 09:43:54

+0

错误一直是SOURCE文件(如上所述),不知道为什么每个人都不断建议新的DESTINATION路径 – 2013-03-16 09:46:48

1

尝试$this->ftp->upload('C:/Users/SYSTEM2/Desktop/checking/ash.jpg' , '/www/uploads/myfolder/');它为我工作最好的运气

+0

我的问题是源文件的位置。当我检查file_exists('C:/Users/SYSTEM2/Desktop/checking/ash.jpg')。它返回false。你能告诉我什么是我的源文件的问题。我确定在我的电脑中存在该文件。那为什么说'无法找到源文件'。 – Ammu 2013-03-17 05:10:51

+0

确保ash.jpg存在于C:/ Users/SYSTEM2/Desktop/checking /其他方面,它将返回false。 – 2013-03-17 11:51:23

+0

是的ash.jpg存在 – Ammu 2013-03-19 09:13:50

0

笨ftp类检查文件是否存在先执行然后你看一看在笨文件夹系统\库的代码上传\ FTP.php线238

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

根据php.net网站,你的本地文件路径应在形式,如果您在Web服务器之外使用本地文件file_exists //计算机/共享/文件名。

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

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

我建议使用一种形式,而不是手工编写的文件路径,然后就像你可以编写代码:

$file=$_FILES["userfile"]["name"]; 
$this->ftp->upload($file , './upload','ascii', 0775);