The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Проблема с парсингом имени файла, при закачке файла через веб форму, !*! Stan, 15-Дек-02, 13:56  [смотреть все]
Перл не может пропарсить имя файла, если файл лежит в каталоге, названном по русски. Например "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'";
    };
};
Заранее благодарен!
  • RE: Проблема с парсингом имени файла, при закачке файла через ве..., !*! Konst, 14:47 , 15-Дек-02 (1)
    >Перл не может пропарсить имя файла, если файл лежит в каталоге, названном
    >по русски. Например "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 }





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

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