Форум программистов, компьютерный форум, киберфорум
PHP: сети
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
2 / 2 / 0
Регистрация: 13.11.2013
Сообщений: 41
1

PHP и FTP Opening BINARY mode data connection for

19.04.2016, 13:27. Показов 2027. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пытаюсь скачать с ftp сервера (ftp://ftp.zakupki.gov.ru/fcs_regions/) файлы.
Возникает ошибка PHP Warning: ftp_get(): Opening BINARY mode data connection for notification_Adygeja_Resp_2015101600_2015101700_003.xml.zip (12140 bytes). Причём файлики почти всегда разные.
Подскажите в чём проблема?
Вот код скрипта:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
 
    define("num_regions",86); //num of regions in RF
    $ftp_server = "ftp.zakupki.gov.ru";
    $ftp_user_name = $ftp_user_pass = "free";
 
    $conn_id = ftp_connect($ftp_server) or die("Can not connect to $ftp_server"); 
 
    if (!ftp_login($conn_id, $ftp_user_name, $ftp_user_pass)) {
        echo "Can not login by $ftp_user_name\n";
        exit(1);
    }
    
    ftp_pasv($conn_id, true);
 
    ftp_chdir($conn_id, "/fcs_regions/");
 
    $regions = ftp_nlist($conn_id, ".");
    
    array_splice($regions, num_regions); //take only folders for regions. There's still some - what I've found (the old sample , probably)
    
    chdir('../../tmp/'); //folder for download
 
    $zip = new ZipArchive;
 
    foreach ($regions as $region) {
        
        ftp_chdir($conn_id, $region."/notifications/currMonth/");
        mkdir($region); //create folder for region
        chdir($region); //go to folder for region
        echo $region."\n";      
 
        $notifications = ftp_nlist($conn_id, ".");
 
        foreach ($notifications as $notification) {
            if(ftp_get($conn_id, $notification, $notification, FTP_BINARY)){
                $dir = substr($notification,0,strlen($notification)-7); //folder for contracts from downloaded file
                mkdir($dir);
                if ($zip->open($notification)) {
                    $zip->extractTo($dir);
                    $zip->close();
                } else {
                    echo "Ошибка $notification";
                }       
            }
            unlink($notification); //delete downloaded file 
        }
        echo "end $region\n";
        chdir("../");  
        ftp_chdir($conn_id, "../../../");
    }
 
    ftp_close($conn_id);
 
?>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.04.2016, 13:27
Ответы с готовыми решениями:

425 can't open data connection ftp
Есть батник, который работал отлично, пока интернет был через 3G модем. Не давно подключил оптику и...

<Binary data> вопрос
Никогда не работал со SQL, но тут встала такая проблема. Есть база .mdf, открыл ее на локалхосте с...

String or binary data would be truncated при числовых полях...
Здравствуйте! У меня есть таблица, у которой все поля типа int. при попытке выполнить команду...

Как строится Buffer(data,'binary') в node.js. Аналог C#
Привет. Пытаюсь перевести nodejs код в c#, не понимаю почему разные значения. console.log(new...

0
19.04.2016, 13:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.04.2016, 13:27
Помогаю со студенческими работами здесь

Data Connection
Всем привет! Интересует вот какой вопрос.... кто-нить пользовал Data Connection ? Нужно сделать...

С# и mySQL Data Connection
Есть программа в которой используется подключение и отображенеи базы данных MySQL через MySQL.Data...

ftp connection
доброго времени суток. Напишите пожалуйста кому не трудно скрипт для связи по ftp с unix сервера...

Нет ответа от ftp passive mode
На VDS крутиться pure-ftp. С локальной машины пытаюсь залогиниться paymay@paymay:~&gt; ftp -d...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru