Помогите найти ошибки

Discussion in 'PHP' started by smileface, 28 May 2012.

  1. smileface

    smileface New Member

    Joined:
    6 May 2012
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Пытаюсь сделать скрипт email рассылки ,чтобы он работал и на бесплатных хостингах.
    Суть идеи:
    Для этого из email листа (base.txt) , читается строка под номером из number.txt
    Скрипт будет запускаться через cron и чтобы не начинать рассылку с начала листа ,берет номер строки из файла number.txt.
    PHP:
    <?php
     $content 
    = file_get_contents( 'number.txt' ); \\присвоение значения content 
    file_put_contents
    ( 'number.txt', ++$content ); \\запись в файл значения content увеличеного на единицу 

    $base
    =file('base.txt'); \\файл списка рассылки 
    for($i = 0; $i < sizeof($base); $i++) \\ здесь наверно ошибка, в последующих трех строках
    if($i == $content) \\Пытаюсь прочесть строку из файла base.txt , номер строки записан в файле number.txt 

    $base
    ==$to; 
    $username = 'Имя'; \\дальше все верно
    $from 
    = 'email@email.ru';
     
    $title = 'тема'; 
    $mess = '<html><body></body></html>';
     
    $headers .= "From: $username <$from>\r\n"; $headers.= "Content-Type: text/html; charset=windows-1251 "; 
    $headers .= "MIME-Version: 1.0 "; 
    mail($to, $title, $mess, $headers); 
    exit; 
    ?>
    Помогите пожалуйста. :) Заранее благодарен.
     
    #1 smileface, 28 May 2012
    Last edited: 28 May 2012
  2. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    PHP:
     $content = file_get_contents( 'number.txt' ); присвоение значения content  
    if($content==''){$content=0;}

    $base=file('base.txt'); файл списка рассылки  
    for($i = $content; $i < sizeof($base); $i++){  здесь наверно ошибка, в последующих трех строках 

    $base
    ==$to;  // Не знаю что ты хотел этим сделать, но это сравнение. Или удали одно равно или вообще всю строку)))
    $username = 'Имя'; дальше все верно 
    $from 
    = 'email@email.ru'; 
     
    $title = 'тема';  
    $mess = '<html><body></body></html>'; 
     
    $headers .= "From: $username <$from>\r\n"; $headers.= "Content-Type: text/html; charset=windows-1251 ";  
    $headers .= "MIME-Version: 1.0 ";  
    mail($to, $title, $mess, $headers);  
    file_put_contents( 'number.txt', $i ); запись в файл значения content увеличеного на единицу  
    }
     
    #2 -=Zhenek=-, 28 May 2012
    Last edited: 28 May 2012
  3. smileface

    smileface New Member

    Joined:
    6 May 2012
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Спасибо за помощь. )
    Выкладываю окончательный вариант
    PHP:
    <?php
     $content 
    = file_get_contents( 'number.txt' ); file_put_contents( 'number.txt', ++$content );
     
    $base = file('base.txt'); 
    for(
    $i = 0; $i < sizeof($base); $i++)
     if(
    $i == $content) $to=($base[$i]);
     
    $username = 'имя';
     
    $from = 'email@email.ru';
     
    $title = 'тема';
     
    $mess = '<html><body></body></html>';
     
    $headers .= "From: $username <$from>\r\n";
     
    $headers.= "Content-Type: text/html; charset=windows-1251 "; 
    $headers .= "MIME-Version: 1.0 "; 
    mail($to, $title, $mess, $headers);
     
    ?>