Автор Тема: Имя файла  (Прочитано 3748 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Biggelow

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 95
  • +0/-0
  • 0
    • Просмотр профиля
Имя файла
« : 01 Августа 2005, 17:45:54 »
#!/usr/bin/perl

$bannerspath1="u:/www/show/";

###############################################################################
$content_type = $ENV{\'CONTENT_TYPE\'};
binmode STDIN;
read(STDIN, $buffer, $ENV{\'CONTENT_LENGTH\'});
if ((!$content_type) || ($content_type =~ m#^multipart/form-data#)){
($boundary = $content_type) =~ s/^.*boundary=(.*)$/\\1/;
@pairs = split(/--$boundary/, $buffer);
@pairs = splice(@pairs,1,$#pairs-1);
for $part (@pairs)
{
($dump,$fline,$value) = split(/\\r\\n/,$part,3);
next if $fline =~ /filename=\\"\\"/;
$fline =~ s/^Content-Disposition: form-data; //;
(@columns) = split(/;\\s+/, $fline);
($name = $columns[0]) =~ s/^name="([^"]+)"$/\\1/g;

if ($#columns > 0)
{
if ($value =~ /^Content-Type:/)
{
($dump,$dump,$value) = split(/\\r\\n/,$value,3);
}
else {($dump,$value) = split(/\\r\\n/,$value,2);}}
else {($dump,$value) = split(/\\r\\n/,$value,2);
if (grep(/^$name$/, keys(%CGI))) {
if (@{$FORM{$name}} > 0) {
push(@{$FORM{$name}}, $value);}
else {
$arrvalue = $FORM{$name};
undef $FORM{$name};
$FORM{$name}[0] = $arrvalue;
push(@{$FORM{$name}}, $value);}}
else {
next if $value =~ /^\\s*$/;
$FORM{$name} = $value;}
next;}
$FORM{$name} = $value;}}
else{
@pairs2 = split(/&/, $buffer);
foreach $pair2 (@pairs2)
{
($name2, $value2) = split(/=/, $pair2);
$value2 =~ tr/+/ /;
$value2 =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value2 =~ s///g;
$input{$name2} = $value2;
}}
###############################################################################

if($FORM{\'pic\'} ne ""){
######################
$id=time();
$upfile = $FORM{\'pic\'};

$post=".jpg";
$upname = "$id$post";
$filename = $upname;

$FORM{what}=~ s/^\\s+//;$FORM{what}=~ s/\\s+$//;

$namepic=$FORM{pic};

$namepic=~ s/^\\s+//;$namepic=~ s/\\s+$//;

$base=$bannerspath1;$path="banners";

open (NEWINFO, ">>$path/pics.pl");print NEWINFO "$filename  $namepic\\n";close (NEWINFO);
chdir($base);

open(FILE1, ">$filename");
binmode FILE1;
print FILE1 $upfile;
close FILE1;

print "Location: script.cgi?action=banners\\n\\n";

}else{
print "Location: script.cgi?action=addbanner\\n\\n";
}


Объясните где в скрипте имя файла, которое я закачиваю. Потому как form{pic} дайет саму картинку, а мне нужно строчку закачки или хотя бы имя.

Оффлайн Biggelow

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 95
  • +0/-0
  • 0
    • Просмотр профиля
Имя файла
« Ответ #1 : 02 Августа 2005, 05:44:37 »
Что никто не знает?

Оффлайн AnnA

  • Фанатка форума
  • Старожил
  • ****
  • Сообщений: 263
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Имя файла
« Ответ #2 : 02 Августа 2005, 10:58:31 »
Цитировать
Biggelow:
где в скрипте имя файла

Цитировать
Biggelow:
open(FILE1, ">$filename");
пока-пока. :)

Оффлайн Biggelow

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 95
  • +0/-0
  • 0
    • Просмотр профиля
Имя файла
« Ответ #3 : 02 Августа 2005, 13:23:09 »
К сожалению нет. Это имя файла я сам задаю, а мне нужно имя передаваемого файла. Т.е. закачиваю slon.swf скрипт бы и писал что закачалось slon.swf.

Оффлайн glebushka

  • студент
  • Ветеран
  • *****
  • Сообщений: 944
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.intellectuals.ru
Имя файла
« Ответ #4 : 02 Августа 2005, 13:40:56 »
Biggelow, пример закачки есть в факе. Ознакомься.
Ну к чему все это, лучше бы водки выпили...

Оффлайн Biggelow

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 95
  • +0/-0
  • 0
    • Просмотр профиля
Имя файла
« Ответ #5 : 02 Августа 2005, 18:38:39 »
Там соверршенно другой пример закачки он мне не подходит, есть все таки идеи у кого-нибудь как это сделать?

Оффлайн glebushka

  • студент
  • Ветеран
  • *****
  • Сообщений: 944
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.intellectuals.ru
Имя файла
« Ответ #6 : 02 Августа 2005, 20:17:48 »
Есть, не клянчить здесь, чтобы кто-то занахаляву тебе скрипты писал, а обратится в форум "поиск и изготовление скриптов".
Ну к чему все это, лучше бы водки выпили...

Оффлайн Biggelow

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 95
  • +0/-0
  • 0
    • Просмотр профиля
Имя файла
« Ответ #7 : 03 Августа 2005, 07:18:44 »
glebushka Захотелось денюжек?

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28