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

Форум PHP

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

 

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

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

тема: Вместо 8 Мб POST-данных, сервер принимает только 4.
 
 автор: stasmus   (13.03.2007 в 09:59)   письмо автору
 
 

Значит такая фишка, на хосте максимальны размер пост-данных 8 метров. На другом хосте пишем функцию отправки методом пост, пуляем в сокет. Фишка! Вместо положенных 8 метров реально можно отправить только 4 метра! Время на обработку полученных данных менее секунды на хосте-приемнике.
Заголовок предельно прост

 $headers = "POST /$scriptname HTTP/1.1\r\n" 
            ."Host: $hostname\r\n" 
            ."Content-type: application/x-www-form-urlencoded\r\n" 
            ."Content-Length: ".strlen($data)."\r\n\r\n"; 


После этого просто пишем в сокет
В чем может быть загвоздка??

   
 
 автор: Unkind   (13.03.2007 в 12:09)   письмо автору
 
   для: stasmus   (13.03.2007 в 09:59)
 

А strlen($data) чему равно?

   
 
 автор: KPETuH   (13.03.2007 в 12:26)   письмо автору
 
   для: stasmus   (13.03.2007 в 09:59)
 

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

   
 
 автор: mihdan   (13.03.2007 в 15:40)   письмо автору
 
   для: KPETuH   (13.03.2007 в 12:26)
 

Сервер не http://rusonyx.ru, а то я там столкнулся с таким косяком, пришлось перекомпилировать РНР, так как ответа на вопрос не было найдено

   
 
 автор: stasmus   (13.03.2007 в 16:14)   письмо автору
 
   для: mihdan   (13.03.2007 в 15:40)
 

Нет, не http://rusonyx.ru перекомпиляция маловероятна
strlen($data) примерно 4070739
Вот эта функция

function via_post($name,$filePath,$scriptname,$hostname,$port,$remoute_name,$remoute_data)
{
  $data = "$remoute_name=".urlencode($name)."&$remoute_data=".base64_encode(file_get_contents($filePath))."&submiting=true\r\n\r\n"; 
  $headers = "POST /$scriptname HTTP/1.1\r\n" 
            ."Host: $hostname\r\n" 
            ."Content-type: application/x-www-form-urlencoded\r\n" 
            ."Content-Length: ".strlen($data)."\r\n\r\n"; 
  $fp = @fsockopen($hostname,$port); 
  if($fp)
  {
        fwrite($fp,$headers.$data); 
        echo "<b>";
      while(!feof($fp)) 
        echo fread($fp,2024); 
        echo "</b>";
      fclose($fp);
  }
  else 
  echo "Fsocketopen error!";
}

   
 
 автор: Trianon   (13.03.2007 в 17:02)   письмо автору
 
   для: stasmus   (13.03.2007 в 16:14)
 

Для таких объемов больше подходит Content-type: multipart/form-data

   
 
 автор: stasmus   (13.03.2007 в 17:06)   письмо автору
 
   для: Trianon   (13.03.2007 в 17:02)
 

а он еще меньше, всего 2 мб
Кстати можно ли изменить это значение или max_post_size при помощи htaccess? Какой режим апача должен быть Чтобы это разрешено было?

   
 
 автор: Trianon   (13.03.2007 в 17:15)   письмо автору
 
   для: stasmus   (13.03.2007 в 17:06)
 

на чужом сервере? Крайне сомнительно.

   
 
 автор: stasmus   (13.03.2007 в 17:41)   письмо автору
 
   для: Trianon   (13.03.2007 в 17:15)
 

на своем. конфы апача править нельзя.

   
 
 автор: гость12345   (14.03.2007 в 18:48)
 
   для: stasmus   (13.03.2007 в 17:41)
 

Ну что кто-нить знает в чем проблема?

   
Rambler's Top100
вверх

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