我有一个案子, 我有一个远程服务器,从2015年到现在包含这么多生成的事务文件(.txt)。我必须每天实时下载它。现在,我使用PHP来下载所有内容,但我认为这种方法并不合理。首先,我列出所有文件,然后我读取文件的组件,如修改日期,但这种方法很烦人。让我的程序运行缓慢并花费很多时间。
这是我的代码(我使用过PHP Yii2 ),
public function actionDownloadfile(){
$contents=Yii::$app->ftpFs->listContents('/backup', ['timestamp','path','basename']); --> Much time needed while executing this line
var_dump($contents);
foreach ($contents as $value) {
if (date('Y-m-d',$value['timestamp']) == date('Y-m-d')){
echo "[".date('Y-m-d H:i:s')."] : Downloading file ".$value['basename']."\n";
$isi = Yii::$app->ftpFs->read($value['path']);
$dirOut = Yii::$app->params['out'];
$fileoutgoing = $dirOut."/".$value['basename'];
$file = fopen($fileoutgoing,"w");
fwrite($file,$isi);
}
}
}
我有一个问题, 是否可以仅在当前日期列出并下载ftp服务器中的某些文件而不先将它们全部列出?
使用PHP或Shell脚本的任何解决方案都可以。
非常感谢你(y)