За последние 24 часа нас посетили 18694 программиста и 1612 роботов. Сейчас ищут 1190 программистов ...

проблема с curl

Тема в разделе "Прочие вопросы по PHP", создана пользователем Alboy, 9 мар 2015.

  1. Alboy

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

    С нами с:
    24 дек 2010
    Сообщения:
    9
    Симпатии:
    0
    Если использовать curl более 1 раза для получения доступа к коду какой-либо внешней страницы, то возникает ошибка, подскажите как можно его использовать несколько раз.
     
  2. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.589
    Симпатии:
    1.763
    Нет такой ошибки у курла. Проблема в вашем коде
     
  3. maxmuha

    maxmuha Новичок

    С нами с:
    11 янв 2015
    Сообщения:
    107
    Симпатии:
    0
    Адрес:
    Мурманск
    Где код? Где ошибка?
     
  4. Alboy

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

    С нами с:
    24 дек 2010
    Сообщения:
    9
    Симпатии:
    0
    код ниже, я к сожалению самостоятельно устранить ошибку не могу.
    Код (Text):
    1. <?php
    2. function gethtm($ddddd_url) {
    3.         $ddddd_put = preg_replace("/[^\/\\\\]*$ddddd_/i", '', $ddddd__SERVER['SCRIPT_FILENAME']);
    4.         $ddddd_ch = curl_init();
    5.         curl_setopt($ddddd_ch, CURLOPT_URL, $ddddd_url);
    6.         curl_setopt($ddddd_ch, CURLINFO_HEADER_OUT, 1);
    7.         curl_setopt($ddddd_ch, CURLOPT_VERBOSE, 1);
    8.         curl_setopt($ddddd_ch, CURLOPT_FOLLOWLOCATION, 1);
    9.         curl_setopt($ddddd_ch, CURLOPT_USERAGENT, "Mozilla/4.0 (Windows; U; Windows NT 5.0; En; rv:1.8.0.2) Gecko/20070306 Firefox/1.0.0.4");
    10.         curl_setopt($ddddd_ch, CURLOPT_RETURNTRANSFER, 1);
    11.         curl_setopt($ddddd_ch, CURLOPT_COOKIEJAR, $ddddd_put."2.txt");
    12.         curl_setopt($ddddd_ch, CURLOPT_COOKIEFILE, $ddddd_put."2.txt");
    13.         curl_setopt($ddddd_ch, CURLOPT_TIMEOUT, 5);
    14.         curl_setopt($ddddd_ch, CURLOPT_CONNECTTIMEOUT, 5);
    15.         $ddddd_result = curl_exec($ddddd_ch);
    16.         curl_close($ddddd_ch);
    17.         return $ddddd_result;
    18. }
    19.  
    20. $ddddd_html = gethtm("http://google.com");
    21.  
    22.  
    23. echo $ddddd_html;
    24. ?>
    25.  
    26.  
    27. <?php
    28. function gethtm($yn_url) {
    29.         $yn_put = preg_replace("/[^\/\\\\]*$yn_/i", '', $yn__SERVER['SCRIPT_FILENAME']);
    30.         $yn_ch = curl_init();
    31.         curl_setopt($yn_ch, CURLOPT_URL, $yn_url);
    32.         curl_setopt($yn_ch, CURLINFO_HEADER_OUT, 1);
    33.         curl_setopt($yn_ch, CURLOPT_VERBOSE, 1);
    34.         curl_setopt($yn_ch, CURLOPT_FOLLOWLOCATION, 1);
    35.         curl_setopt($yn_ch, CURLOPT_USERAGENT, "Mozilla/4.0 (Windows; U; Windows NT 5.0; En; rv:1.8.0.2) Gecko/20070306 Firefox/1.0.0.4");
    36.         curl_setopt($yn_ch, CURLOPT_RETURNTRANSFER, 1);
    37.         curl_setopt($yn_ch, CURLOPT_COOKIEJAR, $yn_put."2.txt");
    38.         curl_setopt($yn_ch, CURLOPT_COOKIEFILE, $yn_put."2.txt");
    39.         curl_setopt($yn_ch, CURLOPT_TIMEOUT, 5);
    40.         curl_setopt($yn_ch, CURLOPT_CONNECTTIMEOUT, 5);
    41.         $yn_result = curl_exec($yn_ch);
    42.         curl_close($yn_ch);
    43.         return $yn_result;
    44. }
    45.  
    46. $yn_html = gethtm("http://yandex.ru");
    47.  
    48.  
    49. echo $yn_html;
    50. ?>
    ошибка
    Код (Text):
    1. Fatal error: Cannot redeclare gethtm() (previously declared in /var/www/admin/www/сайт.ру/index.php:2) in /var/www/admin/www/сайт.ру/index.php on line 44
     
  5. maxmuha

    maxmuha Новичок

    С нами с:
    11 янв 2015
    Сообщения:
    107
    Симпатии:
    0
    Адрес:
    Мурманск
    Это называется ошибка копипаста.
    Вы пытаетесь объявить функцию, которая уже была объявлена ранее.
    Вы понимаете что это за код? Как и для чего его использовать?
     
  6. Alboy

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

    С нами с:
    24 дек 2010
    Сообщения:
    9
    Симпатии:
    0
    понимаю частично, спасибо, проблема действительно была в имени функции.
     
  7. maxmuha

    maxmuha Новичок

    С нами с:
    11 янв 2015
    Сообщения:
    107
    Симпатии:
    0
    Адрес:
    Мурманск
    Код (PHP):
    1. <?php 
    2. function gethtm($ddddd_url) { // объявление функции gethtm($ddddd_url)
    3.         $ddddd_put = preg_replace("/[^\/\\\\]*$ddddd_/i", '', $ddddd__SERVER['SCRIPT_FILENAME']);
    4.         $ddddd_ch = curl_init();
    5.         curl_setopt($ddddd_ch, CURLOPT_URL, $ddddd_url);
    6.         curl_setopt($ddddd_ch, CURLINFO_HEADER_OUT, 1);
    7.         curl_setopt($ddddd_ch, CURLOPT_VERBOSE, 1);
    8.         curl_setopt($ddddd_ch, CURLOPT_FOLLOWLOCATION, 1);
    9.         curl_setopt($ddddd_ch, CURLOPT_USERAGENT, "Mozilla/4.0 (Windows; U; Windows NT 5.0; En; rv:1.8.0.2) Gecko/20070306 Firefox/1.0.0.4");
    10.         curl_setopt($ddddd_ch, CURLOPT_RETURNTRANSFER, 1);
    11.         curl_setopt($ddddd_ch, CURLOPT_COOKIEJAR, $ddddd_put."2.txt");
    12.         curl_setopt($ddddd_ch, CURLOPT_COOKIEFILE, $ddddd_put."2.txt");
    13.         curl_setopt($ddddd_ch, CURLOPT_TIMEOUT, 5);
    14.         curl_setopt($ddddd_ch, CURLOPT_CONNECTTIMEOUT, 5);
    15.         $ddddd_result = curl_exec($ddddd_ch);
    16.         curl_close($ddddd_ch);
    17.         return $ddddd_result;
    18. }
    19.  
    20. $google_html = gethtm("http://google.com"); // вызов функции gethtm($ddddd_url)
    21. echo $google_html;
    22. $yandex_html = gethtm("http://yandex.ru"); // вызов функции gethtm($ddddd_url)
    23. echo $yandex_html;
    24. ?>
    Добавлено спустя 9 минут 50 секунд:
    и не только...