Помогите с explode

Тема в разделе "PHP", создана пользователем komyak, 2 фев 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. komyak

    komyak

    Регистр.:
    4 фев 2009
    Сообщения:
    486
    Симпатии:
    187
    Уже весь мозг вскипятил себе...
    PHP:
    <?
        require(
    'IXR_Library.inc.php');

        
    $file_of_login='login.txt';
        
    $file_text='text.txt';
        
    $file_zagolovok 'zagolovok.txt';
        
    $array_text=file($file_text);
        
    $array_zagolovok=file($file_zagolovok);
        
    $логин_массив=file($file_of_login);    
        
    $taglist='tag, tag, tag';
        
    for(
    $i=0;$i<=count($login_array);$i++){
        
    $l_p=explode(":",trim($login_array[$i]));

        
    define('LJ_HOST''Сами_знаете_какой');
        
    define('LJ_PATH''путь');
        
    define('LJ_LOGIN'$l_p[0]);
        
    define('LJ_PASSWD'$l_p[1]);

    $ljClient = new IXR_Client(LJ_HOSTLJ_PATH);

    if (!
    $ljClient->query('LJ.XMLRPC.getchallenge')) {
        echo 
    'Ошибка [' $ljClient->getErrorpre().'] '.$ljClient->getErrorMessage();
    }else{
        
    $ljResponse $ljClient->getResponse();
        
    $ljChallenge $ljResponse['challenge'];
        
    $ljArgs = array();
        
    $ljArgs['username']       = LJ_LOGIN;
        
    $ljArgs['auth_method']    = 'challenge';
        
    $ljArgs['auth_challenge'] = $ljChallenge;
        
    $ljArgs['auth_response']  = md5($ljChallenge md5(LJ_PASSWD));
        
    $ljArgs['ver']            = "1";
        
    $ljArgs['event']          = iconv('windows-1251''UTF-8'$array_text[$i]);
        
    $ljArgs['subject']        = iconv('windows-1251''UTF-8'$array_zagolovok[$i]);
        
    $ljArgs['year']=date('Y',(time()+($time_difference*3600)));
        
    $ljArgs['mon']=date('m',(time()+($time_difference*3600)));
        
    $ljArgs['day']=date('d',(time()+($time_difference*3600)));
        
    $ljArgs['hour']=date('H',(time()+($time_difference*3600)));
        
    $ljArgs['min']=date('i',(time()+($time_difference*3600)));
        
    $ljArgs['props']= array(
                                
    'opt_preformatted' => true,
                                
    'opt_backdated'    => true,//
                                
    'taglist'          => iconv('windows-1251''UTF-8'$taglist),
                                );
        
    $ljArgs['security'] = 'public';
        
    $ljMethod 'LJ.XMLRPC.postevent';
        if (!
    $ljClient->query($ljMethod$ljArgs)) {
            echo 
    'Ошибка ['.$ljClient->getErrorCode().'] '.$ljClient->getErrorMessage();
        }else{
            
    $ljResponse $ljClient->getResponse();
            
    print_r($ljResponse);
        }}}
    ?>
    Не хочет работать сцу.. При начале работы выдаёт:
    Can't call method "is_validated" on an undefined value at /home/xxx.pm line 1780.
    Судя по ошибке, он шлёт не одиночные лог:пасс, а весь массив сразу(хотя не должен...).
    Подскажите в чём ошибка? Если не трудно то и решение задачки или мануал.
    ЗЫ: В константе ошибка умышленно..
     
  2. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    990
    Симпатии:
    267
    $логин_массив=file($file_of_login);
    а затем делаете
    for($i=0;$i<=count($login_array);$i++){
    Может в этом ошибка? Переменные отличаются...
    p.s. это не константы, если вы их имели ввиду.
     
  3. komyak

    komyak

    Регистр.:
    4 фев 2009
    Сообщения:
    486
    Симпатии:
    187
    define - это имел ввиду. А в массиве опечатался- проверял восприятие русского языка =))
    Проблему решил. И заодно открыл для себя list.

    Решение:
    PHP:
    $schet=count($login_array);
    for(
    $i=0;$i<=$schet;$i++){
        list(
    $a0$a1) = explode(":",trim($login_array[$i]));
        
    $l_p[$i] = array($a0$a1);
     
Статус темы:
Закрыта.