Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
52 / 3 / 4
Регистрация: 27.02.2016
Сообщений: 277
1

Цикл for() и curl

24.08.2018, 19:41. Показов 1918. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет, друзья!
Ниже есть код, который пакетно добавляет email адреса в листы на сервисе mailchimp.

Есть 2 цикла:
1 - берем строку с api из файла;
2 - берем id листа для импорта email адресов(20 листов - 20 итераций(кругов и т.д));

По окончанию он возвращается и снова берет из файла второй api, подключается ко второму аккаунту и заносит уже в нем email адреса в 20 листов и так много аккаунтов.

Email адреса берутся из базы данных.

Подскажите, пожалуйста, как зациклить этот скрипт, ниже скрипт с пояснениями.

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
56
57
58
59
60
61
62
// Скрипт подключения к базе //
 
for ($x=0; $x<92; $x++) { //В этом цикле в каждой итерации берем строку из файла со списком API
 
$api = file('api.txt'); //Массив с данными из файла. Списки с api
$apikey = rtrim($api[$x]); // Номер строки из массива с api
 
 
 
for ($j=0; $j<20; $j++) { //В этом цикле в каждой итерации берем строку из файла с id листа для импорта email адресов
 
$file = file('idlist/'.$x.'.txt'); //Массив с данными из файла. Списки с id листов
$list_id = rtrim($file[$j]); // Номер строки из массива с id листа
 
 
$sql = mysql_query("SELECT * FROM base");
$finalData = array();
 
    while ($result = mysql_fetch_array($sql)) {
        $individulData = array(
            'apikey'        => $apikey,
            'email_address' => $result['email'],
            'status'        => 'subscribed',
 
        );
        $json_individulData        = json_encode($individulData);
        $finalData['operations'][] =
            array(
                "method" => "POST",
                "path"   => "/lists/$list_id/members/",
                "body"   => $json_individulData
            );
    }
 
 
 
    } // цикл 2
    } // цикл 1  
 
 
$api_response = batchSubscribe($finalData, $apikey);
print_r($api_response);
 
 function batchSubscribe(array $data, $apikey)
    {
        $auth          = base64_encode('user:' . $apikey);
        $json_postData = json_encode($data);
        $ch            = curl_init();
        $dataCenter    = substr($apikey, strpos($apikey, '-') + 1);
        $curlopt_url   = 'https://' . $dataCenter . '.api.mailchimp.com/3.0/batches/';
        curl_setopt($ch, CURLOPT_URL, $curlopt_url);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json',
            'Authorization: Basic ' . $auth));
        curl_setopt($ch, CURLOPT_USERAGENT, 'PHP-MCAPI/3.0');
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_TIMEOUT, 10);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $json_postData);
        $result = curl_exec($ch);
        return $result;
    }
Я впервые с curl, не знаю как это работает вообще, подскажите знающие. Если убрать все циклы for(), то скрипт просто из базы достает 100 адресов и вставляет их в лист, при этом api аккаунта и id листа содержатся в переменной $apikey и $list_id

Мне надо подключится к акку через апи и импортировать в 20 листов адреса, потом по второму кругу на следующем аккаунте и т.д

Добавлено через 6 часов 32 минуты
Разобрался, вопрос закрыт
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.08.2018, 19:41
Ответы с готовыми решениями:

Не работает cURL + цикл
Добрый день. Интересует вопрос, почему не работает скрипт: &lt;?php $qweqwe =...

cURL в цикле. Не до конца выполняется цикл
почему данный код выводит страницу только 22 раза из 76?&lt;?php $start = microtime(true);...

Авторизация curl (различие между curl и ajax запросами)
Есть ли различие в передаче данных в json формате через curl и ajax? Я хочу написать запрос,...

Создать программу по всем 3 видам циклов...цикл с параметром,цикл с условием,цикл,и цикл с предусловием...
Найти сумму чисел 1 в квадрате до 10 c квадрате...операцию возведению в степень не использовать...

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

Curl команду превратить в php curl
команда: curl -s -F widget=$WIDGET -F secret=$SECRET -F amouser=$AMOUSER -F amohash=$AMOHASH -F...

Curl not a valid cUrl на windows
Есть такая функция. private function curl_send($url) { ob_start(); $ch = curl_init($url);...

Цикл с предусловием, цикл с постусловием и цикл с параметром
Объясните пожалуйста как делать эти циклы. У меня не получается. Можете сделать как на фото, или на...

Как реализовать бесконечный цикл While, но чтобы этот цикл не грузил процессор?
Допустим есть цикл: while (1) { ... } Как сделать так, чтобы бесконечный цикл не...


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

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