2013-01-17 222 views
0

我有一个脚本连接到外部ftp服务器并下载文件夹的内容。只下载.csv文件从外部FTP服务器到我的FTP服务器

目前它会下载文件夹中的所有文件。我如何修改下面的脚本,只下载和处理.csv文件并忽略其他文件?

我的脚本(其中工程100%):

$timenow=time(); 
$ftp_server = "ftp.domain.com"; 
$conn_id = ftp_connect($ftp_server); 
$ftp_user_name = "username"; 
$ftp_user_pass = "password"; 
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); 
$contents = ftp_nlist($conn_id, 'LoadsOverWB'); 
$targetnameprocesses ="LoadsOverWB-$timenow.csv"; 


$filename = $contents[0]; 

echo "<br><font color=blue><b>Import into LOC MySQL.....</b></font><br>"; 
// import file 
if ((empty($filename))) { echo "$filename not existing to import.";} else { 
$source = "LoadsOverWB/$filename"; 
$target = fopen("$filename", "w"); 

$conn = ftp_connect("ftp.hulamin.co.za") or die("Could not connect"); 
ftp_login($conn,"TransportLogistics","Qaz1234"); 

ftp_fget($conn,$target,$source,FTP_ASCII); 

echo "file downloaded. <br>"; 

感谢一如既往为辅助,

+0

$源文件下载,只是改变并删除循环 – 2013-01-17 19:22:27

+0

感谢Dagon,我如何知道$ Source是否是csv文件,如果不忽略。 $ source实际上是ftp列表中的第一个文件?再次感谢。 – Smudger

+0

你知道你想要的文件的文件名吗? – 2013-01-17 19:28:09

回答

1

试试这个:

if ('.csv' == strtolower(substr($filename, -4))) { //Get the file } 
+0

谢谢,错误消息':调用未定义的函数lower()in ...' – Smudger

+0

对不起。它是PHP中的strtolower()。 – cpilko