2013-03-16 36 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);