写一个脚本运行在服务器上定时执行
导出指定时间到cvs文件,并且上传到指定ftp上
public function exportCSV($date,$prefix,$fileDir){
$CsvFile = $fileDir.$prefix.$this->format($date).'.csv';
$fp = fopen($CsvFile, 'w'); //w,a,详情查找fopen
$header_data = ['ID','姓名','性别','生日','手机','邮箱'];
foreach ($header_data as $key => $value) {
$header_data[$key] = iconv('utf-8', 'gbk', $value);
}
fputcsv($fp, $header_data);
$startDate = $date . ' 00:00:00';
$endDate = $date . ' 23:59:59';
$sql = "select * from cln_apply where (Input_Date>'$startDate' AND Input_Date<'$endDate')";
$clnmodel = new ClnModel(); //这里引用模型,可以用原生
$result = $clnmodel->findAll($sql);
if($result){
foreach ($result as $val) {
$arr = (array)$val;
foreach($arr as $k=>$v){
if($k == 'Birth_Date'){
$v = substr($v,0,10);
}
$arr[$k] = iconv('utf-8', 'gbk', $v);
}
fputcsv($fp, $arr);
}
}
}
public function format($date){
return join(explode('-',$date));
}
public function uploadCSV($date = '2017-12-01'){
$host = '';
$user = '';
$pass = '';
$prefix = 'Report_';
$fileDir = __DIR__.'/../data/';
$CSV = $this->exportCSV($date,$prefix,$fileDir);
$conn = ftp_connect($host) or die("Could not connect");
ftp_login($conn, $user, $pass);
$remote = $prefix.$this->format($date).'.csv';
$local = $fileDir.$remote;
$csvresult = ftp_put($conn, $remote, $local, FTP_BINARY);
if($csvresult){
$nullFile = $prefix.$this->format($date).'.done';
$nullresult = ftp_put($conn, $nullFile, $fileDir.'mifi.done', FTP_ASCII);
}
ftp_close($conn);
}