Знатокам PHP
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Знатокам PHP - 2005-06-07 13:30:55
|
|
|
SaBo
Сообщений: 1089
Оценки: 0
Присоединился: 2005-02-17 20:16:54
|
Люди, пытаюсь создать свою собственную рассылку. Написал такой код: $filename ="msg.txt"; //в файле написано: "Сообщение" $file = fopen($filename,"r+"); $text1 = fread($file,filesize($filename)); fclose($file);
$spliter = "::"; $filename = "mail.txt"; //в файле написано: "mustsav@mail.ru::mustsav@mail.ru"
$file = fopen($filename,"r+"); $text = fgets($file);
$arg = explode($spliter,$text); echo "Всего адресатов: " . count($arg) . "<br>";
$var = count($arg) - 1; $i = 0; do { mail("$arg[$i]","Тема сообщения","$text1"); } while(++$i <= $var)
Но отправляется только одно сообщение, а не два!!!<BR>Помогите, кто знает!
|
|
|
Знатокам PHP - 2005-06-07 15:33:32
|
|
|
ventilyator
Сообщений: 423
Оценки: 0
Присоединился: 2004-10-28 15:46:45
|
:) …а если адресатов N, то отправится по N-1 адресам зырь внемательней
посмотри начальные значения $i и $var и условие выхода из цикла и чем отличаеца $i++ от ++$i
|
|
|
Знатокам PHP - 2005-06-07 15:37:10
|
|
|
SaBo
Сообщений: 1089
Оценки: 0
Присоединился: 2005-02-17 20:16:54
|
Кол-во адресатов у меня прописано здесь:
$filename ="msg.txt"; //в файле написано: "Сообщение" $file = fopen($filename,"r+"); $text1 = fread($file,filesize($filename)); fclose($file);
$spliter = "::"; $filename = "mail.txt"; //в файле написано: "mustsav@mail.ru::mustsav@mail.ru"
$file = fopen($filename,"r+"); $text = fgets($file);
$arg = explode($spliter,$text); echo "Всего адресатов: " . count($arg) . "<br>";
$var = count($arg) - 1; $i = 0; do {
mail("$arg[$i]","Тема сообщения","$text1");
} while(++$i <= $var)
Переменная $var = count($arg) - 1 count($arg) - кол-во адресатов вычитаем 1. Тут все правильно!!!
|
|
|
Знатокам PHP - 2005-06-07 16:36:00
|
|
|
ventilyator
Сообщений: 423
Оценки: 0
Присоединился: 2004-10-28 15:46:45
|
while(++$i <= $var)
до тех пор пока $i = $i + 1; $i <= $var;
т.е. сперва прибавляем, потом сравниваем
что бы сперва сравнивать а потом прибавить, юзай $i++ <= $var ну, или мона нестрого сравнивать ++$i < $var ну, или тада count - 1 не нада
|
|
|
Знатокам PHP - 2005-06-07 18:08:00
|
|
|
SaBo
Сообщений: 1089
Оценки: 0
Присоединился: 2005-02-17 20:16:54
|
Я недавно php изучаю. Если тебе не сложно, можешь рассказать по подробнее!!!
Буду очень рад!
|
|
|
Знатокам PHP - 2005-06-08 02:06:16
|
|
|
jEnizix
Сообщений: 1797
Оценки: 0
Присоединился: 2004-12-30 11:03:50
|
КВАЧ, советую, купи себе книгу по ПХП и читай!
|
|
|
Знатокам PHP - 2005-06-08 02:07:42
|
|
|
jEnizix
Сообщений: 1797
Оценки: 0
Присоединился: 2004-12-30 11:03:50
|
Тока без обид, ок?
|
|
|
Знатокам PHP - 2005-06-08 14:05:09
|
|
|
ventilyator
Сообщений: 423
Оценки: 0
Присоединился: 2004-10-28 15:46:45
|
2 дженикс: ты если книжку советуиш, то сразу говори какую. нынче стока разного гавна на прилавках лежит… обложка красивая, а как содержание посмотриш - навоз полный
2 КВАЧ ну смари ++$i <= $var
операции инкремента ++$i и $i++ различаюца тем, что прибавление единицы прекомпилятором в первом случае происходит сразу при попадании на этот блок кода (на эту строчку), а во втором при выходе из этого блока (т.е. при переходе на следующую строчку кода)
т.е. для { ++$i <= $var; } прекомпилятор разберет эту строчку так: { $i = $i + 1; $i <= $var; }
а для { $i++ <= $var; } так: { $i <= $var; $i = $i + 1; }
чуиш фишку? :)
|
|
|
Знатокам PHP - 2005-06-09 22:17:18
|
|
|
SaBo
Сообщений: 1089
Оценки: 0
Присоединился: 2005-02-17 20:16:54
|
Всё, я понял!!! В первом варианте $i изменяется во время выполнения цикла, а во втором - после выхода из цикла!
СПАСИБО!!!
|
|
|
|
|