ftpwriter.php 1011 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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_chdir($conn, FTP_DIR);
  11. $stmt = $dbh->prepare(
  12. "SELECT DISTINCT id_company, ftp_directory
  13. FROM file_row_update
  14. INNER JOIN file_row USING(id_file_row)
  15. INNER JOIN file USING(id_file)
  16. INNER JOIN company USING(id_company)
  17. WHERE date_modified > DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 7 DAY)");
  18. $stmt->execute();
  19. $companies = $stmt->fetchAll(PDO::FETCH_ASSOC);
  20. foreach($companies as $company)
  21. {
  22. $id_company = $company['id_company'];
  23. $week_number = date('W');
  24. //make the csv in memory
  25. $f = fopen('php://temp/maxmemory:1048576', 'w');
  26. getRowsByCompanyCSV($id_company, $f, $week_number);
  27. rewind($f);
  28. $remote_filename = $company['ftp_directory'] . '-' . date('Y-W') . '.csv';
  29. if(!ftp_fput($conn, $remote_filename, $f, FTP_ASCII))
  30. {
  31. echo "Error uploading file.\n";
  32. return;
  33. }
  34. }
  35. ftp_close($conn);
  36. echo "DONE\n";
  37. ?>