The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Проблема с парсингом имени файла, при закачке файла через ве..."
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [Проследить за развитием треда]

"Проблема с парсингом имени файла, при закачке файла через ве..."
Сообщение от Stan emailИскать по авторуВ закладки on 15-Дек-02, 13:56  (MSK)
Перл не может пропарсить имя файла, если файл лежит в каталоге, названном по русски. Например "C:\Мои документы\1.jpg". Полное имя файла выводит "C:\М", а иногда правильно.
Может кто знает в чем дело?
Вот сорца:
my $foto = param ('foto');
if($foto ne "")
{
my $DIR  = "../foto";                # не забудьте "chmod 777 pics"
my $filename;
$news= $news."|$foto|";
if ($foto !~ /([\w-]+ \. (?: gif | jpe?g ))$/ix) #только имя,путь выкидывается
{
$news= $news."$1 Файл должен быть jpg или gif";
$foto="NULL";
}
else
{
   $filename="$1";
if (not sysopen FILE, "$DIR/$filename", O_EXCL | O_CREAT | O_WRONLY, 0444)
{
    $news= $news."Hе могу создать $DIR/$1: $!";
}else{
    binmode FILE;
    print FILE while (<$foto>);
    close FILE;
};
$foto="'$filename'";
};
};
Заранее благодарен!
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: Проблема с парсингом имени файла, при закачке файла чере..."
Сообщение от Konst emailИскать по авторуВ закладки on 15-Дек-02, 14:47  (MSK)
>Перл не может пропарсить имя файла, если файл лежит в каталоге, названном
>по русски. Например "C:\Мои документы\1.jpg". Полное имя файла выводит "C:\М", а иногда правильно.

>my $foto = param ('foto');
param ('foto') - это и есть fullpath???

> if ($foto !~ /([\w-]+ \. (?: gif | jpe?g ))$/ix) #только имя,путь выкидывается
> {
>;
> }  else  {
>   $filename="$1";
а)[\w] - работает только с англ.буквами (if not use locale)
б) при такой конструкции $1 - совсем не обязательно == ([\w-]+ \. (?: gif | jpe?g );
в) if ($foto =~ /^.*([^\/\\/]+ (gif | jpe?g ))$/i) { $fn = $1 }

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру