ftpwriter.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. include '../db.php';
  3. //connect
  4. $conn = ftp_connect(FTP_HOST, FTP_PORT);
  5. if(!ftp_login($conn, FTP_USER, FTP_PASS))
  6. {
  7. echo "Unable to login to FTP\n";
  8. return;
  9. }
  10. ftp_pasv($conn, true);
  11. ftp_chdir($conn, FTP_DIR);
  12. $stmt = $dbh->prepare(
  13. "SELECT DISTINCT id_company, ftp_directory
  14. FROM file_row_update
  15. INNER JOIN file_row USING(id_file_row)
  16. INNER JOIN file USING(id_file)
  17. INNER JOIN company USING(id_company)
  18. WHERE date_modified > DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 7 DAY)
  19. OR file.date_processed > DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 7 DAY)");
  20. $stmt->execute();
  21. $companies = $stmt->fetchAll(PDO::FETCH_ASSOC);
  22. foreach($companies as $company)
  23. {
  24. $id_company = $company['id_company'];
  25. $week_number = date('W');
  26. //make the csv in memory
  27. $f = fopen('php://temp/maxmemory:1048576', 'w');
  28. getRowsByCompanyCSV($id_company, $f, $week_number);
  29. rewind($f);
  30. $remote_filename = $company['ftp_directory'] . '-' . date('Y-W') . '.csv';
  31. if(!ftp_fput($conn, $remote_filename, $f, FTP_ASCII))
  32. {
  33. echo "Error uploading file.\n";
  34. return;
  35. }
  36. }
  37. ftp_close($conn);
  38. echo "DONE\n";
  39. ?>