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

Статус
В этой теме нельзя размещать новые ответы.

kent2177

Постоялец
Регистрация
25 Авг 2009
Сообщения
149
Реакции
18
Есть скрипт , который переводит текст и страничку с переводом сохраняет в файл.
Но он не хочет переводить страницу из интернета к примеру Для просмотра ссылки Войди или Зарегистрируйся
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($url, null, $context);
    file_put_contents('res.txt', $res);
	?>
 
$s = file_get_contents('http://yandex.ru');
$data = array(
'text' => $s,
'sl' => 'ru',
'tl' => 'en',
'prev' => 'hp',
'js' => 'n'

);
 
$s = file_get_contents('http://yandex.ru');
$data = array(
'text' => $s,
'sl' => 'ru',
'tl' => 'en',
'prev' => 'hp',
'js' => 'n'
);
Этот способ хоть слегка и извращённый но почти работает
Выдаёт ошибку в строчке
PHP:
$res = file_get_contents($url, null, $context);
Я так понимаю через чур длинный запрос
 
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($url, null, $context);

preg_match('/"(\/translate_p.*?)"/',$res,$trp); // вырезаем ссылку на фрейм
$url = 'http://translate.google.com'.html_entity_decode($trp[1]);
$res = file_get_contents($url, null, $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);
?>
 
Спасибо, код работает , проблема была во фрейме
Подскажите как работая через цикл присвоить переменной $f_name строки из файла list.txt где хранятся имена переведённых файлов
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху