LINUX.ORG.RU

Вопрос от Ленина 1


0

0

Глубокоуважаемая поблика достопочтенного форума!!! Обращаюсь к Вам с огромной просьбой: ПАМАГИТЕ мне разобраться в этом скрипте: Где сдесь ошибка? Да и еще очень важно: объясните мне как и что значит опции $datafile="fotos.txt" и $fotodir="." Как мне это понимать и использовать??? У меня директория на сервере /~cgi-bin/. Мое почтение Ленин #!/usr/bin/perl #fileput.cgi ##### $datafile="fotos.txt"; $fotodir="."; ##### print "Content-Type: text/html\n\n"; if($ENV{'REQUEST_METHOD'} eq 'GET'){$query=$ENV{'QUERY_STRING'};} else {sysread(STDIN,$query,$ENV{'CONTENT_LENGTH'});} if($query eq ''){ print <<ENDHTML; <HTML> <HEAD><TITLE>File put</TITLE></HEAD> <BODY> <H2>File put</H2> <FORM enctype="multipart/form-data" method="POST"> <TABLE> <TR><TD>Name:</TD><TD><INPUT name="username"></TD></TR> <TR><TD>Email:</TD><TD><INPUT name="useremail"></TD></TR> <TR><TD>Your Foto:</TD><TD><INPUT type="file" name="userfoto" ACCEPT="application/octet-stream"></TD></TR> <TR><TD>Comment:</TD><TD><INPUT name="usercomment"></TD></TR> <TR><TD><INPUT type="submit" name="subm" value="OK"></TD> <TD><INPUT type="reset" name="res" value="Clear"></TD></TR> </TABLE> </FORM> Вы также можете послать мне ваши фотографии по e-mail <A href="doomer\@quake.ru">doomer\@quake.ru</A> </BODY></HTML> ENDHTML } else{ if($ENV{'CONTENT_TYPE'} =~/multipart/){ ($bound)=($ENV{'CONTENT_TYPE'} =~/boundary=(\S+)/); @parts=split(/\n--$bound(-)*/,$query); @parts=grep($_ ne '' ,@parts); foreach(@parts){ ($header,$body)=split(/\n\s*\n/,$_,2); ($name)=(/name=\"([^\"]*)\"/); $body=~ s/\n$//; $body=~ s/\r$//; ($filename)=(/filename=\"([^\"]*)\"/); if($name eq 'username'){$username=$body;} if($name eq 'useremail'){$useremail=$body;} if($name eq 'usercomment'){$usercomment=$body;} if($name eq 'userfoto'){$userfoto=$body;$userfotofilename=$filename;;} } } else{} $userfotofilename1=$userfotofilename; $filedup=0; while(-e "$fotodir/$userfotofilename1"){ $userfotofilename1="$filedup_$userfotofilename"; $filedup++; } open(F,">$fotodir/$userfotofilename1"); print F $userfoto; close(F); open(DATA,">>$datafile"); print DATA "$username\n"; print DATA "$useremail\n"; print DATA "$userfotofilename1\n"; print DATA "$usercomment\n"; close(DATA); print "<HTML>\n"; print "<HEAD><TITLE>File uploaded!</TITLE></HEAD>\n"; print "<BODY>\n"; print "<CENTER><H1>File uploaded!</H1></CENTER>\n"; print "\n"; print "</BODY></HTML>\n";


Ответ на: комментарий от timur

Если пришлёшь на vadimt@mail.ru или запостишь нормально отформатированным, читаемым тобишь (чтоб самому строчки переносить не приходилось) попробую..

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.