За последние 24 часа нас посетили 17606 программистов и 1968 роботов. Сейчас ищет 991 программист ...

Віведение резудьтата curl в файл

Тема в разделе "PHP для новичков", создана пользователем Grid12, 28 май 2013.

  1. Grid12

    Grid12 Активный пользователь

    С нами с:
    27 фев 2012
    Сообщения:
    28
    Симпатии:
    0
    Здравствуйте!
    Есть код с использованием curl.
    Код (Text):
    1. $file_url_name="http://www.google.com/search?num=3&hl=ru&q=$keyword";  
    2.     $ch = curl_init();
    3. //Указываем URL, куда будем обращаться. Протокол http://
    4.     curl_setopt($ch, CURLOPT_URL, $file_url_name);
    5.     curl_setopt($ch, CURLOPT_HEADER, false);
    6.     //curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    7.     curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
    8.     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    9.     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    10. //Путь до сертификата
    11.     curl_setopt($ch, CURLOPT_SSLCERT, 'cert.pem');
    12. //Пароль сертификата
    13.     curl_setopt($ch, CURLOPT_SSLCERTPASSWD,'certpass');
    14.     $data =  curl_exec($ch);
    15.     #echo $data;
    16.     curl_close($ch);
    Подскажите пожалуйста как вывести эту страницу в отдельный файл.
    и если кто знает объясните почему
    Код (Text):
    1.  
    2.     $r=fopen("proba.php","w+");
    3.     fputs($r, $data);
    4.     fclose($r);
    даёт в файле 1.
     
  2. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    #echo $data; замени на var_dump ($data);

    посмотри что выведет в браузер
     
  3. Grid12

    Grid12 Активный пользователь

    С нами с:
    27 фев 2012
    Сообщения:
    28
    Симпатии:
    0
    выводит
    bool(true)
    т.е. оно и может вывести только 1 или 0 так как это тип boolean.
    а как вывести полученную страницу в файл???
     
  4. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    http://www.google.com/search?num=3&hl=ru&q=$keyword

    по этому урлу будет идти переадресация на https://

    а у тебя оно никуда не пойдет следом за переадресацией.

    либо s добавь к урлу, либо curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); в код
     
  5. Grid12

    Grid12 Активный пользователь

    С нами с:
    27 фев 2012
    Сообщения:
    28
    Симпатии:
    0
    Если добавить s к урлу то на страницу вообще ничего не выводится.
    добавил строчку с курл_сетопт.
    Ничего не изменилось как выводилась единица так и выводится. может я не правильно вывожу???:
    Код (Text):
    1.  
    2. <?php
    3. $file_url_name="http://www.google.com/search?num=3&hl=ru&q=butter";  
    4.     $ch = curl_init();
    5. //Указываем URL, куда будем обращаться. Протокол http://
    6.     curl_setopt($ch, CURLOPT_URL, $file_url_name);
    7.     curl_setopt($ch, CURLOPT_HEADER, false);
    8.     //curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    9.     curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
    10.     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    11.     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    12.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
    13. //Путь до сертификата
    14.     curl_setopt($ch, CURLOPT_SSLCERT, 'cert.pem');
    15. //Пароль сертификата
    16.     curl_setopt($ch, CURLOPT_SSLCERTPASSWD,'certpass');
    17.     $data = curl_exec($ch);
    18.     $r=fopen("proba.php","w");
    19.     fputs($r, $data);
    20.     fclose($r);
    21.     curl_close($ch);
    22. ?>
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    не забываем, что форум русский, и язык общения - русский.
     
  7. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    у тебя на страницу и не должно, должно в файл писать

    Код (Text):
    1. $file_url_name="http://www.google.com/search?num=3&hl=ru&q=butter";
    2.    $ch = curl_init();
    3. //Указываем URL, куда будем обращаться. Протокол http://
    4.     curl_setopt($ch, CURLOPT_URL, $file_url_name);
    5.    curl_setopt($ch, CURLOPT_HEADER, false);
    6.    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    7.    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
    8.    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    9.     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    10.    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
    11. //Путь до сертификата
    12.   // curl_setopt($ch, CURLOPT_SSLCERT, 'cert.pem');
    13. //Пароль сертификата
    14.   // curl_setopt($ch, CURLOPT_SSLCERTPASSWD,'certpass');
    15.    $data = curl_exec($ch);
    16. //   $r=fopen("proba.php","w");
    17. //      fputs($r, $data);
    18. //      fclose($r);
    19.     curl_close($ch);
    у меня выводит результат поиска...