За последние 24 часа нас посетили 16619 программистов и 1681 робот. Сейчас ищут 917 программистов ...

загрузка файла по урл

Тема в разделе "PHP для новичков", создана пользователем boo, 30 мар 2008.

  1. boo

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

    С нами с:
    16 мар 2008
    Сообщения:
    84
    Симпатии:
    0
    Есть урл http ://mysite.ru/123.jpg
    PHP:
    1. $img = "http://mysite.ru/123.jpg";
    так вот смысл в том чтоб по урл-у картинка закачивалась на сервер - /www/img
    Если можно коротко скрипт, поиском пользоваться умею (воснавном закачка через POST юзером на серв) )
     
  2. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
  3. boo

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

    С нами с:
    16 мар 2008
    Сообщения:
    84
    Симпатии:
    0
    c http всё работает -
    PHP:
    1. <?php
    2. $filename = "http://site.ru/1234.jpg";
    3.  
    4. $loadimg = file_get_contents($filename);
    5. file_put_contents("123.jpg","$loadimg")
    6. ?>
    а с https проблема - failed to open stream

    вообще почему то не работает -
    PHP:
    1. echo "HTTPS:\n".file_get_contents('https://LIUBOJ_SAJT');
    так же не грабит через кУРЛ:
    PHP:
    1.  
    2. <?php
    3. $useragent = "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1";
    4. $ch = curl_init();
    5. $timeout = 0;
    6. curl_setopt ($ch, CURLOPT_URL, "https://site.ru/image.jpg");
    7. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
    8. curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    9. curl_setopt($ch, CURLOPT_REFERER, "https://site.ru");
    10. curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
    11. $input = curl_exec($ch);
    12.  
    13. echo $input;
    14. ?>
     
  4. boo

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

    С нами с:
    16 мар 2008
    Сообщения:
    84
    Симпатии:
    0
    с cURL разобрался- отключение сертификатов -
    PHP:
    1. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    возможно ли это сделать file_get_contents?
     
  5. stas_t

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

    С нами с:
    24 апр 2007
    Сообщения:
    500
    Симпатии:
    0
    Адрес:
    Courbevoie, France
  6. boo

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

    С нами с:
    16 мар 2008
    Сообщения:
    84
    Симпатии:
    0
    Сами пробывали ?
    опять же - failed to open stream.
     
  7. stas_t

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

    С нами с:
    24 апр 2007
    Сообщения:
    500
    Симпатии:
    0
    Адрес:
    Courbevoie, France
    сами пробовали. с нормальным https-адресом стрим-функции работают и без изменения контекста. хотите отключить verify_peers -- меняйте контекст. можете добавить user_agent или referer-а чтобы было как в вашем примере. смотрите конфигурацию wrappers на своём сервере
     
  8. boo

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

    С нами с:
    16 мар 2008
    Сообщения:
    84
    Симпатии:
    0
    allow_url_fopen = On
    allow_url_include = On
    если можешь кинь в личку сайт на котором работает ) 5 сайтов пробывал - не может открыть поток...
    тащил ради примера просто картинку с главной...
     
  9. stas_t

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

    С нами с:
    24 апр 2007
    Сообщения:
    500
    Симпатии:
    0
    Адрес:
    Courbevoie, France
    работает на моём домашнем компе. если хотите, запостите адрес картинки, которую надо вытащить с ссл-ного сайта, я с ней попробую
     
  10. Captain

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

    С нами с:
    12 апр 2008
    Сообщения:
    5
    Симпатии:
    0
    dfgd

    boo
    У меня была такая же проблема, Стоило внимательно почитать User Contributed Notes на английском языке и пошло, вот: http://www.php.net/manual/ru/features.f ... .php#52157

    P.S. Все таки научили курить ману :)
     
  11. lexa

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

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Код (Text):
    1. copy('http://mysite.ru/123.jpg', 'forlsed/123.jpg');
    С https нет возможности проверить.