ftpwriter.php 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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. $stmt->execute();
  20. $companies = $stmt->fetchAll(PDO::FETCH_ASSOC);
  21. foreach($companies as $company)
  22. {
  23. $id_company = $company['id_company'];
  24. $week_number = date('W');
  25. //make the csv in memory
  26. $f = fopen('php://temp/maxmemory:1048576', 'w');
  27. getRowsByCompanyCSV($id_company, $f, $week_number);
  28. rewind($f);
  29. $remote_filename = $company['ftp_directory'] . '-' . date('Y-W') . '.csv';
  30. if(!ftp_fput($conn, $remote_filename, $f, FTP_ASCII))
  31. {
  32. echo "Error uploading file.\n";
  33. return;
  34. }
  35. }
  36. ftp_close($conn);
  37. echo "DONE\n";
  38. ?>