Перл не может пропарсить имя файла, если файл лежит в каталоге, названном по русски. Например "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'";
};
};
Заранее благодарен!
|