Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Отправка файла на сервер через сокеты
 
 автор: Inviseble_Demon   (29.10.2008 в 20:38)   письмо автору
 
 

Здраствуйте.

Не могу найти нормальной информации по сокетам, а именно отправка текста вмести с файлом (Mime).

$img_content=file_get_contents("$img_src");

$product_url[1]=preg_replace("#&#", "%26", $product_url[1]);

$items = array(
     'product[product_id]' => "$product_id[1]",
     'product[product_name]' => "$product_name[1]",
     'product[product_factory]' => "$product_factory[1]",
     'product[product_url]' => "$product_url[1]",
     'product[product_price]' => "$product_price[1]",
     'product[product_articul]' => "$product_articul[1]",
     'product[product_description]' => "$product_description[1]",
     'product[category_id]' => "403",
     
);


$data = '';
foreach($items as $k => $v)
{
     if (!empty($data)) {
          $data .= '&';
     }
     $data .= $k.'='.$v;
}

  $url=parse_url("http://test.ru");
  $hostname = $url['host'];
  $path = $url['path']; 
  $fp = fsockopen($hostname, 80, $errno, $errstr, 30);
  if (!$fp) echo "Ошибка соединения, code error $errstr ($errno)<br />\n";
  
    $headers="POST $path HTTP/1.1\r\n";
    $headers.="Host: $hostname\r\n";
    $headers.="Content-Type: application/x-www-form-urlencoded\n";
    $headers.="Content-Length: ".strlen($data)."\r\n";
        // Подделываем кукиес
    $headers.="$cookie";
    $headers.="Connection: Keep-Alive\r\n\r\n";

      // Отправляем сконфигурированный заголовое
    fwrite($fp, $headers.$data);
       // Получаем ответ
    while (!feof($fp)) 
    {  
    $line .= fgets($fp, 1024);
      preg_match("|(.*\r\n\r\n).*|",$line,$out);
 
    if(!empty($out[1])& $full!=1) break;
    } 

    fclose($fp); 


Вот такой кусок кода я имею. А нужно отправить и это и $img_content.
Помогите пожалуйста.

  Ответить  
 
 автор: BinLaden   (29.10.2008 в 20:54)   письмо автору
 
   для: Inviseble_Demon   (29.10.2008 в 20:38)
 

[поправлено модератором]

  Ответить  
 
 автор: Inviseble_Demon   (29.10.2008 в 21:28)   письмо автору
 
   для: BinLaden   (29.10.2008 в 20:54)
 

Огромное спасибо !
Респект.
Ожидал что напишут готовое )) Но это окозалось намного лудше !
В статье нашол ответы ещё на пару вопросов.

А на счет
$headers="POST $path HTTP/1.1\r\n";
$headers.="Connection: Keep-Alive\r\n\r\n";

это вроде же стандарт )) вот и вставил.

  Ответить  
 
 автор: Trianon   (29.10.2008 в 21:57)   письмо автору
 
   для: Inviseble_Demon   (29.10.2008 в 21:28)
 

Вот заглянули бы в стандарт, и поглядели, что вставили.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования