Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Bakha Maukeev                        2:5020/400     11 Dec 2000  09:09:28
 To : All
 Subject : Проблема с размером передачи данных по HTTP
 -------------------------------------------------------------------------------- 
 
 Уважаемый ALL!
 
 Извените, за очень чайниковский вопрос, но я только научился писать на 
 Perl - полный чайник, и нигде в FAQах и книжках пока не нашёл ответа.
 
 У меня возникла проблема, когда я пытаюсь передать из формы и тега 
 <textarea> текст размером в 4 kb при методе POST и записать этот текст 
 в текстовой файлик. То почему-то текст срезается и записывается только 
 1,5 kb. Я работаю под Win98, уже испробовал все freewareные Web-Servera 
 типа Apache, Tiny, Sambar, PWS, HServ и многое другое. Hо это не 
 помогает. Помогите, может это что-то не так делаю?
 Вот мой скрипт:
 #!c:\perl\bin\perl 
 # savef.pl 
 #Function to decoding data from HTTP
 sub urldecode {
   local($val)  = @_;
   $val =~ s/\+/ /g;
   $val =~ s/%([0-9a-hA-H]{2})/pack('C',hex($1))/ge;
   return $val;
 }
 #Get parametrs from query-string
 if ($ENV{'REQUEST_METHOD'} eq 'GET'){$query = $ENV{'QUERY_STRING'};}
 elsif ($ENV{'REQUEST_METHOD'} eq 'POST') 
   {sysread(STDIN, $query, $ENV{'CONTENT_LENGTH'});}
   if ($query ne '') {
   @formfields = split(/&/,$query);
   foreach (@formfields) {
    if (/^ffile=(.*)/){$ffile=urldecode($1);}
    if (/^txtview=(.*)/){$txtview=urldecode($1);}
      }
    }
 
 #Display data in HTML - Это так для контроля, что пишется в файл
  print "Content-Type: text/html\n\n";
  print "<html><title>Test for CGI</title><head></head>";
  print "<body bgcolor=\"FFFFCC\">";
  print "<h1>Test1 - open file using Perl </h1><br><hr>";
  print "<input type=\"hidden\" name=\"ffile\" value=\"$ffile\">";
  print "<textarea name=\"txtview\" rows=\"20\" cols=\"92\">";
 #Take out \n
  while ( $txtview =~ s/\n// ) {
  chomp($txtview);
  }
  printf $txtview; 
  print "</textarea><br>";
  print "<input type=\"SUBMIT\" name=\"ffback\" value=\"BACK\"  
 onClick=\"history.back(-1);return false;\">";
  print "<hr></body><html>";
  
 #Save file to HDD
 open(PASS, ">$ffile") || die "Not works! $_";
 while ( $txtview =~ s/\n// ) {
  chomp($txtview);
 }
 print PASS "$txtview";
 close (PASS);
 
 -- 
 Всё на земле не бывает случайно...
 Отправлено через сервер Talk.Ru - http://www.talk.ru
 --- ifmail v.2.15dev5
  * Origin: Talk.ru (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Проблема с размером передачи данных по HTTP   Bakha Maukeev   11 Dec 2000 09:09:28 
 Re: Проблема с размером передачи данных по HTTP   Vladimir N. Silyaev   11 Dec 2000 17:23:36 
 Проблема с размером передачи данных по HTTP   Vsevolod Lutovinov   12 Dec 2000 03:28:20 
 Проблема с размером передачи данных по HTTP   Konstantin Savelyev   19 Dec 2000 00:14:15 
 Re: Проблема с размером передачи данных по HTTP   Alexander V. Gaiduk   22 Dec 2000 13:04:28 
 Re: Проблема с размером передачи данных по HTTP   Vladimir N. Silyaev   23 Dec 2000 08:37:35 
Архивное /ru.cgi.perl/648884254603.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional