Php 仅从外部FTP服务器下载.csv文件到我的FTP服务器
我有一个连接到外部ftp服务器并下载文件夹内容的脚本 目前,它将下载文件夹中的所有文件。如何修改以下脚本,使其仅下载和处理.csv文件,而忽略任何其他文件 我的剧本是(100%有效):Php 仅从外部FTP服务器下载.csv文件到我的FTP服务器,php,ftp,Php,Ftp,我有一个连接到外部ftp服务器并下载文件夹内容的脚本 目前,它将下载文件夹中的所有文件。如何修改以下脚本,使其仅下载和处理.csv文件,而忽略任何其他文件 我的剧本是(100%有效): $timenow=time(); $ftp\u server=“ftp.domain.com”; $conn\u id=ftp\u connect($ftp\u server); $ftp\u user\u name=“username”; $ftp\u user\u pass=“password”; $logi
$timenow=time();
$ftp\u server=“ftp.domain.com”;
$conn\u id=ftp\u connect($ftp\u server);
$ftp\u user\u name=“username”;
$ftp\u user\u pass=“password”;
$login\u result=ftp\u login($conn\u id,$ftp\u user\u name,$ftp\u user\u pass);
$contents=ftp_nlist($conn_id,'LoadsOverWB');
$targetnameprocess=“LoadsOverWB-$timenow.csv”;
$filename=$contents[0];
echo“
导入LOC MySQL…”;
//导入文件
如果((空($filename)){echo“$filename不存在,无法导入。”;}else{
$source=“LoadsOverWB/$filename”;
$target=fopen(“$filename”,“w”);
$conn=ftp_connect(“ftp.hulamin.co.za”)或die(“无法连接”);
ftp_登录($conn,“运输物流”,“Qaz1234”);
ftp_fget($conn、$target、$source、ftp_ASCII);
回显“已下载文件”
;
一如既往地感谢您的帮助,尝试以下方法:
if ('.csv' == strtolower(substr($filename, -4))) { //Get the file }
$source是下载的文件,只需更改它,然后删除循环谢谢Dagon,我如何判断$source是否是csv文件,如果不是忽略。$source实际上是ftp列表中的第一个文件?再次感谢。您知道所需文件的文件名吗?文件名是一个带有时间戳的变量,因此脚本当前正在查看第一个f列表中的文件
ftp\u nlist
和$contents[0]
是该列表中的第一个文件。我只想排除所有不是csv的文件?可以这样做吗?谢谢,错误消息:在…
中调用未定义的函数lower()。对不起,这是PHP中的strtolower()
。
if ('.csv' == strtolower(substr($filename, -4))) { //Get the file }