Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как оставить расширение файла 
V
    Опции темы
agalex
Дата 28.9.2009, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 14.2.2009

Репутация: нет
Всего: нет



Здравствуйте!

У меня вопрос. Просто не могу найти (или плохо искал) инфу как сделать так. При загрузке файла на сервер, на форме пишут имя, берут файл и отправляют. Как сделать что бы осталось и добавилось к имени расширение файла. Например выбрали Excel вписали имя и автоматом + .xls  или там PDF то к имени +.pdf и тд. Какой файл отправляют что бы оставалось расширение его.

У меня код такой 
Код

#!/usr/bin/perl -w
use strict;
use CGI qw(param);

my $file = param('file') ? param('file') : 'none';
if ($file eq 'none') { 
print "Content-type: text/html; charset=windows-1251\n\n";
print '<form action="" method=post enctype="multipart/form-data">
  <input name="nameF" type="text" size="60">
  <br>
<input type="file" size="60" name="file">
<input type="submit" value="Upload"></form>';
exit;
} else { 

my $firma = param('nameF');                                                                       # Имя которые руками вписывают с формы.
my $file_name = $firma; 



open (FILE, ">$file_name") || die "Can not open file! $file_name!";
binmode FILE;
flock (FILE, 2);
print FILE while (<$file>);
close FILE; close $file_name;
chmod 0644, $file_name;
print "Content-type: text/html; charset=windows-1251\n\n";
print "Загрузили!";
exit;
}



Спасибо!
PM MAIL   Вверх
amg
Дата 29.9.2009, 04:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 1
Всего: 50



Код
(my $ext) = $file =~ /(\..+)$/ || '';

PM MAIL   Вверх
Paul56
Дата 30.9.2009, 05:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 19.9.2008
Где: Екатеринбург

Репутация: нет
Всего: нет



Код

my $file = param('file');        
my @fa = split(/\./, $file);
$fa[$#fa] # - тут, то что Вам нужно.


PM ICQ   Вверх
amg
Дата 1.10.2009, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 1
Всего: 50



Цитата(Paul56 @  30.9.2009,  05:44 Найти цитируемый пост)
 тут, то что Вам нужно.
Не всегда:
Код
my $file = 'file';        
my @fa = split(/\./, $file);
print "$fa[$#fa]\n";


PM MAIL   Вверх
agalex
Дата 2.10.2009, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 14.2.2009

Репутация: нет
Всего: нет




Спасибо amg!
Я сделал все работает.

Благодарствую всем за помощь.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.0937 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.