Помогите доделать скрипт

Тема в разделе "PHP", создана пользователем kent2177, 1 авг 2010.

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

    kent2177

    Регистр.:
    25 авг 2009
    Сообщения:
    153
    Симпатии:
    17
    Есть скрипт , который переводит текст и страничку с переводом сохраняет в файл.
    Но он не хочет переводить страницу из интернета к примеру http://yandex.ru
    PHP:
         <?php
        $url 
    ='http://translate.google.com.ua/translate_t';
        
    $data = array(
             
    'text' => 'пришел полный конец наших попыток',
             
    'sl'  => 'ru',
            
    'tl'  => 'en',
             
    'prev' => 'hp',
             
    'js'  => 'n'
         
        
    );
       
        
    $options = array(
           
    'http' => array(
                
    'method' => 'GET',
               
    'header' => "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET CLR 4.0.20506)
        Content-Type: 'text/plain; charset=UTF-8\r\n\r\n"
            
    )
       
        );
        
    $context stream_context_create($options);
        
    $url .= '?' http_build_query($data);
        
        
    $res file_get_contents($urlnull$context);
        
    file_put_contents('res.txt'$res);
        
    ?>
     
  2. Rinn

    Rinn Постоялец

    Регистр.:
    25 авг 2009
    Сообщения:
    105
    Симпатии:
    25
    $s = file_get_contents('http://yandex.ru');
    $data = array(
    'text' => $s,
    'sl' => 'ru',
    'tl' => 'en',
    'prev' => 'hp',
    'js' => 'n'

    );
     
  3. kent2177

    kent2177

    Регистр.:
    25 авг 2009
    Сообщения:
    153
    Симпатии:
    17
    Этот способ хоть слегка и извращённый но почти работает
    Выдаёт ошибку в строчке
    PHP:
    $res file_get_contents($urlnull$context);
    Я так понимаю через чур длинный запрос
     
  4. pitkina

    pitkina

    Регистр.:
    1 апр 2007
    Сообщения:
    253
    Симпатии:
    176
    PHP:
    <?php
    $page 
    'http://yandex.ru';

    $url ='http://translate.google.com/translate';
    $data = array('u' => $page,
    'hl' => 'en','ie' => 'UTF-8','sl' => 'ru','tl' => 'en',
    'rurl' => 'translate.google.com','twu' => '1');
    $options = array('http' => array('method' => 'GET','header' => "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET CLR 4.0.20506) Content-Type: 'text/plain; charset=UTF-8\r\n\r\n"));
    $context stream_context_create($options);
    $url .= '?' http_build_query($data);
    $res file_get_contents($urlnull$context);

    preg_match('/"(\/translate_p.*?)"/',$res,$trp); // вырезаем ссылку на фрейм
    $url 'http://translate.google.com'.html_entity_decode($trp[1]);
    $res file_get_contents($urlnull$context);

    //file_put_contents('res.txt', $res);
    $m_url parse_url($page); $f_name $m_url['host'].'-'.strftime("%M%S",time()).'.txt'// в имени файла hostname и метка времени
    file_put_contents($f_name$res);
    ?>
     
    kent2177 нравится это.
  5. kent2177

    kent2177

    Регистр.:
    25 авг 2009
    Сообщения:
    153
    Симпатии:
    17
    Спасибо, код работает , проблема была во фрейме
    Подскажите как работая через цикл присвоить переменной $f_name строки из файла list.txt где хранятся имена переведённых файлов
     
Статус темы:
Закрыта.