1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

Сокеты PHP

Тема в разделе "Web Coding", создана пользователем doktor-FleX, 14 дек 2007.

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

    doktor-FleX Постоялец

    Регистр.:
    16 сен 2007
    Сообщения:
    81
    Симпатии:
    0
    Как скачать картинку(аналогично файлы) с одного ресурса на другой с помощью сокетов php?
     
  2. admLoki

    admLoki генератор случайного PHP

    Регистр.:
    14 сен 2006
    Сообщения:
    481
    Симпатии:
    93
    Всмысле, с удаленного сервера на свой ?
     
  3. doktor-FleX

    doktor-FleX Постоялец

    Регистр.:
    16 сен 2007
    Сообщения:
    81
    Симпатии:
    0
    да. наподобие как на imageshack.us
     
  4. admLoki

    admLoki генератор случайного PHP

    Регистр.:
    14 сен 2006
    Сообщения:
    481
    Симпатии:
    93
    PHP:
    <?php

    $data 
    file_get_contents('http://ya.ru/logo.gif');
    $status file_put_content($data,'/mydir/logo_xyandexa.gif');
    if(
    $status)
      {
      echo 
    'File downloaded succesfully';
      }
      else
      {
      echo 
    'Unknown error';
      }

    ?>
    Примерно так .
     
    doktor-FleX нравится это.
  5. Karlasan

    Karlasan Постоялец

    Регистр.:
    7 дек 2007
    Сообщения:
    78
    Симпатии:
    157
    Или вот так:
    PHP:

    function HttpGet($host,$path)
    {
        
    $req "GET ".$path." HTTP/1.0\r\nHost: ".$host."
    Accept: */*;
    Connection: Close\r\n\r\n"
    ;
        @
    $s fsockopen($host80);
        if(!
    $s)
        {
            return 
    false;
        }
        else
        {
            
    fwrite($s,$req);
            
    $rez='';
            while(!
    feof($s))$rez.=@fread($s,$sz+strlen($req));
            return 
    substr($rez,strpos($rez,"\r\n\r\n"));
        }
    }

    $data=HttpGet('ya.ru','/logo.gif');
    if(!
    $data)
    {
        print 
    "Error!";
    }
    else
    {
        
    file_put_content('./logo.gif',$data);
    }
    Примечание 1: file_put_contents доступен только в пхп5.
    Примечание 2: Функцию HttpGet можно легко модифицировать, добавив например передачу кукисов, referrer'ов или реализовав работу через прокси.
    Примечание 3: file_put_contents принимает сначала путь к файлу, а затем данные для записи. В посте admLoki немножко не так :)
     
    doktor-FleX нравится это.
  6. doktor-FleX

    doktor-FleX Постоялец

    Регистр.:
    16 сен 2007
    Сообщения:
    81
    Симпатии:
    0
    В обоих случаях эта ошибка:
    Fatal error: Call to undefined function file_put_content() in ....
    :nezn:
     
  7. lobzik

    lobzik

    Регистр.:
    8 авг 2006
    Сообщения:
    311
    Симпатии:
    49
    Замени file_put_content на file_put_contents...
     
  8. doktor-FleX

    doktor-FleX Постоялец

    Регистр.:
    16 сен 2007
    Сообщения:
    81
    Симпатии:
    0
    также
    Fatal error: Call to undefined function: file_put_contents() ....
     
  9. RomAndry

    RomAndry Постоялец

    Регистр.:
    21 ноя 2007
    Сообщения:
    102
    Симпатии:
    24
    версия PHP?
     
  10. doktor-FleX

    doktor-FleX Постоялец

    Регистр.:
    16 сен 2007
    Сообщения:
    81
    Симпатии:
    0
    Версия PHP 5.2.5
     
Статус темы:
Закрыта.