// 导出csv public function exportCSV($date = '2017-12-01',$prefix='a',$fileDir='b'){ $CsvFile = $fileDir.$prefix.$this->format($date).'.csv'; //上传后的文件名称 $fp = fopen($CsvFile, 'w'); // 表头标题 $header_data = ['Trading Platform ID(Login)','Client-First Name','Client-surname','Client-date of birth','Client-Country','National Identifier']; 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 Cln_ID,First_Name,Surname,Birth_Date,Country 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)); } // 上传csv文件到Ftp // 参数 $date 格式 YYYY-MM-DD public function uploadCSV($date = '2017-12-01'){ $host = ''; //FTP主机 $user = ''; //ftp用户名 $pass = ''; //ftp密码 $prefix = 'ATXUK_client_'; //文件名前缀 $fileDir = __DIR__.'/../mifi_report/'; //Mifi_Report文件的目录 // 生成CSV文件 $CSV = $this->exportCSV($date,$prefix,$fileDir); // 链接登陆ftp $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); //上传第一个文件.csv // var_dump($csvresult); if($csvresult){ $nullFile = $prefix.$this->format($date).'.done'; //上传成功备注 $nullresult = ftp_put($conn, $nullFile, $fileDir.'mifi.done', FTP_ASCII); //上传第二个空文件.done // var_dump($nullresult); } ftp_close($conn); }