Guest User

Untitled

a guest
May 31st, 2018
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.17 KB | None | 0 0
  1. <?
  2.  
  3. function syncCurrency()
  4. {
  5. global $APPLICATION;
  6.  
  7. $ftp_server = "77.222.56.218";
  8. $ftp_user = "banknpru_exchrates";
  9. $ftp_pass = "yyojWCr0MVgieWqCI3G";
  10.  
  11. $remote_file = '/filename.csv';
  12. $local_file = "{$_SERVER["DOCUMENT_ROOT"]}/include/filename.csv";
  13.  
  14. /****/
  15.  
  16. $server = "111.111.111.11serverip";
  17. $username = "suername";
  18. $password = "password";;
  19. $remoteFile = '/remotefile.csv';
  20.  
  21. $conn = ftp_connect($server);
  22.  
  23. if (@ftp_login($conn, $username, $password)) {
  24. echo "Connected to FTP as $username\n";
  25. }
  26. else {
  27. echo 'Could not authenticate on FTP server';
  28. }
  29.  
  30. ftp_pasv($conn, true); //try it with and without this line to see which works (depends on server)
  31.  
  32. ob_start();
  33. ftp_get($conn, 'php://output', $remoteFile, FTP_ASCII);
  34.  
  35. $data = ob_get_contents();
  36. $data = preg_replace('/[&][#]*[0-9a-zA-Z]+[;]/','',$data);//убирает спецсимволы можно оставить только список определен городов?
  37. $data = preg_replace('/[^a-zA-Zа-яА-Я;, \d\n]+/u','',$data);
  38.  
  39. ob_end_clean();
  40.  
  41. ftp_close($conn);
  42.  
  43. // var_dump($data); // output data
  44. $file = $test_file;
  45.  
  46. $fp = fopen($file, 'w');
  47. fwrite($fp, $data);
  48. fclose($fp);*/
  49. /****/
  50.  
  51. // установка соединения
  52. if ($conn_id = ftp_connect($ftp_server)) {
  53. // попытка входа
  54. if (!ftp_login($conn_id, $ftp_user, $ftp_pass)) {
  55. $APPLICATION->ThrowException('Ошибка авторизации - currency FTP');
  56. ftp_close($conn_id);
  57. return "syncCurrency();";
  58. }
  59.  
  60. if (file_exists($local_file)) {
  61. // получение времени модификации файла
  62. $remote_file_time = ftp_mdtm($conn_id, $remote_file);
  63.  
  64. // получение времени модификации файла
  65. if ($remote_file_time != -1) {
  66. $local_file_time = filemtime($local_file);
  67.  
  68. if ($remote_file_time > $local_file_time) {
  69.  
  70. // открываем файл для записи
  71. $handle = fopen($local_file, 'c');
  72.  
  73. // пытаемся скачать файл и сохранить его в $handle
  74. /**/
  75. /*if (!ftp_fget($conn_id, $handle, $remote_file, FTP_ASCII, 0)) {
  76. $APPLICATION->ThrowException('Ошибка загрузки - currency FTP');
  77. }*/
  78. /**/
  79. ob_start();
  80. ftp_get($conn_id, 'php://output', $remote_file, FTP_ASCII);
  81.  
  82. $data = ob_get_contents();
  83. $data = preg_replace('/[&][#]*[0-9a-zA-Z]+[;]/','',$data);//убирает спецсимволы можно оставить только список определен городов?
  84. $data = preg_replace('/[^a-zA-Zа-яА-Я;, \d\n]+/u','',$data);
  85.  
  86. ob_end_clean();
  87.  
  88. ftp_close($conn_id);
  89.  
  90. // var_dump($data); // output data
  91. // $file = $test_file;
  92.  
  93. // $fp = fopen($file, 'w');
  94. fwrite($handle, $data);
  95. fclose($handle);
  96. /**/
  97.  
  98. fclose($handle);
  99. }
  100. } else {
  101. $APPLICATION->ThrowException('Ошибка получение времени модификации файла - currency FTP');
  102. }
  103. } else {
  104. $handle = fopen($local_file, 'w');
  105.  
  106. // пытаемся скачать файл и сохранить его в $handle
  107. if (!ftp_fget($conn_id, $handle, $remote_file, FTP_ASCII, 0)) {
  108. $APPLICATION->ThrowException('Локальный файл отсутствует - ошибка загрузки - currency FTP');
  109. }
  110.  
  111. fclose($handle);
  112. }
  113.  
  114. // закрытие соединения
  115. ftp_close($conn_id);
  116. } else {
  117. $APPLICATION->ThrowException('Ошибка соединения - currency FTP');
  118. }
  119.  
  120. return "syncCurrency();";
  121. }
Add Comment
Please, Sign In to add comment