Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?
- function syncCurrency()
- {
- global $APPLICATION;
- $ftp_server = "77.222.56.218";
- $ftp_user = "banknpru_exchrates";
- $ftp_pass = "yyojWCr0MVgieWqCI3G";
- $remote_file = '/filename.csv';
- $local_file = "{$_SERVER["DOCUMENT_ROOT"]}/include/filename.csv";
- /****/
- $server = "111.111.111.11serverip";
- $username = "suername";
- $password = "password";;
- $remoteFile = '/remotefile.csv';
- $conn = ftp_connect($server);
- if (@ftp_login($conn, $username, $password)) {
- echo "Connected to FTP as $username\n";
- }
- else {
- echo 'Could not authenticate on FTP server';
- }
- ftp_pasv($conn, true); //try it with and without this line to see which works (depends on server)
- ob_start();
- ftp_get($conn, 'php://output', $remoteFile, FTP_ASCII);
- $data = ob_get_contents();
- $data = preg_replace('/[&][#]*[0-9a-zA-Z]+[;]/','',$data);//убирает спецсимволы можно оставить только список определен городов?
- $data = preg_replace('/[^a-zA-Zа-яА-Я;, \d\n]+/u','',$data);
- ob_end_clean();
- ftp_close($conn);
- // var_dump($data); // output data
- $file = $test_file;
- $fp = fopen($file, 'w');
- fwrite($fp, $data);
- fclose($fp);*/
- /****/
- // установка соединения
- if ($conn_id = ftp_connect($ftp_server)) {
- // попытка входа
- if (!ftp_login($conn_id, $ftp_user, $ftp_pass)) {
- $APPLICATION->ThrowException('Ошибка авторизации - currency FTP');
- ftp_close($conn_id);
- return "syncCurrency();";
- }
- if (file_exists($local_file)) {
- // получение времени модификации файла
- $remote_file_time = ftp_mdtm($conn_id, $remote_file);
- // получение времени модификации файла
- if ($remote_file_time != -1) {
- $local_file_time = filemtime($local_file);
- if ($remote_file_time > $local_file_time) {
- // открываем файл для записи
- $handle = fopen($local_file, 'c');
- // пытаемся скачать файл и сохранить его в $handle
- /**/
- /*if (!ftp_fget($conn_id, $handle, $remote_file, FTP_ASCII, 0)) {
- $APPLICATION->ThrowException('Ошибка загрузки - currency FTP');
- }*/
- /**/
- ob_start();
- ftp_get($conn_id, 'php://output', $remote_file, FTP_ASCII);
- $data = ob_get_contents();
- $data = preg_replace('/[&][#]*[0-9a-zA-Z]+[;]/','',$data);//убирает спецсимволы можно оставить только список определен городов?
- $data = preg_replace('/[^a-zA-Zа-яА-Я;, \d\n]+/u','',$data);
- ob_end_clean();
- ftp_close($conn_id);
- // var_dump($data); // output data
- // $file = $test_file;
- // $fp = fopen($file, 'w');
- fwrite($handle, $data);
- fclose($handle);
- /**/
- fclose($handle);
- }
- } else {
- $APPLICATION->ThrowException('Ошибка получение времени модификации файла - currency FTP');
- }
- } else {
- $handle = fopen($local_file, 'w');
- // пытаемся скачать файл и сохранить его в $handle
- if (!ftp_fget($conn_id, $handle, $remote_file, FTP_ASCII, 0)) {
- $APPLICATION->ThrowException('Локальный файл отсутствует - ошибка загрузки - currency FTP');
- }
- fclose($handle);
- }
- // закрытие соединения
- ftp_close($conn_id);
- } else {
- $APPLICATION->ThrowException('Ошибка соединения - currency FTP');
- }
- return "syncCurrency();";
- }
Add Comment
Please, Sign In to add comment