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

Форум PHP

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

 

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

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

тема: отправить файл через GET
 
 автор: naxa   (03.07.2006 в 12:02)   письмо автору
 
 

Возможно ли заказачть рисунок через GET
или же передать его через сокеты в POST
подскажите как, plz

   
 
 автор: Unkind™   (03.07.2006 в 12:08)   письмо автору
 
   для: naxa   (03.07.2006 в 12:02)
 

Нет.
Но через сокеты можно, метод тут не при чем, нужно свои заголовки лепить.

   
 
 автор: naxa   (03.07.2006 в 12:12)   письмо автору
 
   для: Unkind™   (03.07.2006 в 12:08)
 

посмотри - что не так:



  $hostname = "localhost";
  $path = "add_resume5.php";
  $line = "";
  // Устанавливаем соединение, имя которого
  // передано в параметре $hostname
  $fp = fsockopen($hostname, 80, $errno, $errstr, 30); 
  // Проверяем успешность установки соединения
  if (!$fp) echo "$errstr ($errno)<br />\n"; 
  else
  { 
    // Данные HTTP-запроса
    $data =  "fio=".$_GET['fio']&"phone=".$_GET['phone']&"email=".$_GET['email']&"info=".$_GET['info']&"MAX_FILE_SIZE=".$_GET['MAX_FILE_SIZE']&"userfile=".$_GET['userfile']."\r\n\r\n\r\n\r\n\r\n\r\n";
    // Заголовок HTTP-запроса
    $headers = "POST $path HTTP/1.1\r\n"; 
    $headers .= "Host: $hostname\r\n"; 
    $headers .= "Content-type: application/x-www-form-urlencoded\r\n";
    $headers .= "Content-Length: ".strlen($data)."\r\n\r\n";
    // Отправляем HTTP-запрос серверу
    fwrite($fp, $headers.$data); 
    // Получаем ответ
    while (!feof($fp))
    { 
      $line .= fgets($fp, 1024); 
    } 
    fclose($fp); 
  } 
  echo $line;




$hostname = "localhost"; - это что? это так и оставлять или что-то подставить нужно?

   
 
 автор: CrazyAngel   (03.07.2006 в 12:21)   письмо автору
 
   для: naxa   (03.07.2006 в 12:12)
 

$hostname = "localhost"; - имя хоста, например yandex.ru

   
 
 автор: naxa   (03.07.2006 в 12:24)   письмо автору
 
   для: CrazyAngel   (03.07.2006 в 12:21)
 

так что, никто не знает, как передать файл не используя метод POST ?

   
 
 автор: cheops   (03.07.2006 в 21:00)   письмо автору
 
   для: naxa   (03.07.2006 в 12:24)
 

Можно, конечно переправить файл методом PUT, но он отключён на всех публичных Web-серверах.

   
 
 автор: naxa   (03.07.2006 в 20:17)   письмо автору
 
   для: CrazyAngel   (03.07.2006 в 12:21)
 

мне поможет кто-нибудь иль нет? :"(

   
 
 автор: Trianon   (03.07.2006 в 21:06)   письмо автору
 
   для: naxa   (03.07.2006 в 12:12)
 

Дело в том, что файлы методом POST передаются другим типом кодирования.
Не x-www-form-urlencoded, а multipart/form-data
И собираются в запрос они не как GET-аргументы, а скорее как части e-mail-сообщения.
Посмотрите, как выглядит типичный upload-file-запрос, и сделайте так же через сокеты.

   
 
 автор: cheops   (03.07.2006 в 21:28)   письмо автору
 
   для: Trianon   (03.07.2006 в 21:06)
 

Вот, кстати, пример по теме http://www.softtime.ru/scripts/post_copy.php.

   
Rambler's Top100
вверх

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