Вторую неделю изучаю php )) Какие то непонятки получается решить самому при более внимательном изучении кода, какие то не могу понять совсем, поэтому прошу помощи.
Сейчас столкнулся с непонятным для меня поведением sleep в цикле foreach. Задача скрипта рассылать клиентам сообщения, не превышая разрешенное хостером в час. Для этого в цикл рассылки был вставлен оператор sleep:
CODE (htmlphp):
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?php
- {
- // Формируем массив с адресами email для рассылки
- $fileString = file_get_contents($_FILES['file']['tmp_name']);
- $emailsArray = explode("\n",$fileString);
- // Подсчитываем кол-во адресов
- $emailsCount = count($emailsArray);
- $emailsCountTotal = $emailsCount;
- // Отправляем сообщения
- foreach($emailsArray as $email)
- {
- echo 'Осталось отправить '.$emailsCount.' из '.$emailsCountTotal.'. Отправляем сообщение для: '.$email.'<br />';
- mail($email,$_POST['subject'],$_POST['message']);
- sleep(5);
- $emailsCount--;
- }
- }
- ?>