[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: ULR + русские буквы + массив
savelikan
Мммм.. Доброе время суток. У меня возникла такая проблемка. Делаю я файловый архив. Вот он:
http://testportal.2ua.org.ua/windows/index.php (пароль и логин 123)
Когда создать папку она создается и удаляется без проблем да и зайти в нее можно. МОжно даже без проблем загрузить или удалить файл в ету папку с русской кодировкой.
НО проблема в том, что в созданой папке все файлы не откриваются.
Как генерируется путь к файлу в папке? Сначала берется переменная folder= из адресной строки (и я думаю что проблема в етом) а потом добавляется имя файла.
Самое интересное то, что в папке "Приватні файли" все работает без проблем.
пожалуйста помогите с етой проблемой. Да, вот функция которая используется:
function userfolder ($dir){
$direct = opendir('./folder/'.$dir);
while (false !== ($file = readdir($direct))) {
IF ($file == "." or $file == "..") {}else{
IF(is_dir('./folder/'.$dir.'/'.$file.'')){
$url = rawurlencode($file);
$dir = rawurlencode($dir);
echo "
<TABLE width=250 height=80 border=0 style='float: left'>
<TR><TD width=50 align=center><A href=?folder=
$dir/$url><IMG src=image/folder.jpg border=0></TD><TD width=200></A>
<A href=?folder=
$dir/".$url."><FONT face=arial size=2>$file</FONT></A><BR><BR>
<A href=?folder="
.$dir."&delete=$url><FONT face=arial size=2><I>Видалити</I></FONT></A>
</TD></TR>
</TABLE>
</A>
"
;
}else{
$Ftype = end(explode(".", $file));
$filesize = ceil((filesize('./folder/'.$dir.'/'.$file.''))/1024);
IF($filesize > 1024)
{$filesize = ceil($filesize/'1024');$filesize = "<I>$filesize Мб.</I>";}else
{$filesize = "<I>$filesize Кб.</I>";}
IF ($Ftype == 'AVI' or $Ftype == 'avi') {$IMG = "movie_avi.jpg";}
elseif ($Ftype == 'MPG' or $Ftype == 'mpg') {$IMG = "movie_mpg.jpg";}
elseif ($Ftype == 'WMV' or $Ftype == 'wmv') {$IMG = "movie_wmv.jpg";}
elseif ($Ftype == 'FLV' or $Ftype == 'flv') {$IMG = "movie_flv.jpg";}
elseif ($Ftype == 'MPEG' or $Ftype == 'mpeg') {$IMG = "movie_mpeg.jpg";}
//-----
elseif ($Ftype == 'MP3' or $Ftype == 'mp3') {$IMG = "audio_mp3.jpg";}
//----
elseif ($Ftype == 'JPG' or $Ftype == 'jpg') {$IMG = "pict_jpg.jpg";}
elseif ($Ftype == 'GIF' or $Ftype == 'gif') {$IMG = "animation.jpg";}
//----
elseif ($Ftype == 'TXT' or $Ftype == 'txt') {$IMG = "text_txt.jpg";}
elseif ($Ftype == 'DOC' or $Ftype == 'doc') {$IMG = "text_doc.jpg";}
iconv("UTF-8", "windows-1251", $dir);
echo "
<TABLE width=250 height=80 border=0 style='float: left'>
<TR><TD width=50 align=center><A href=folder/"
.rawurlencode($dir)."/".rawurlencode($file)."><IMG src=image/".$IMG." border=0></TD><TD width=200></A>
<A href=folder/"
.rawurlencode($dir)."/".rawurlencode($file)."><FONT face=arial size=2>".$file."</FONT></A><BR>
<FONT face=arial size=2>Розмір файла: "
.$filesize."</FONT><BR>
<A href=?folder="
.rawurlencode($dir)."&delete=".rawurlencode($file)."><FONT face=arial size=2><I>Видалити</I></FONT></A>
</TD></TR>
</TABLE>
</A>
"
;
}
}

}
}




Спустя 1 час, 24 минуты, 59 секунд (16.11.2009 - 11:56) twin написал(а):
Что означает
Цитата
в ету папку с русской кодировкой.

?
Какая у папки может быть русская кодировка...

Спустя 4 часа, 4 минуты, 36 секунд (16.11.2009 - 16:01) savelikan написал(а):
Ну если названия папки на русском.

Спустя 25 минут, 46 секунд (16.11.2009 - 16:27) twin написал(а):
Сервер не понимает ничего кроме латиницы. Надо транслетировать названия или переименовывать. Иначе все равно проблемы будут.

Спустя 2 минуты, 44 секунды (16.11.2009 - 16:29) savelikan написал(а):
Ну тк я же зделал rawurlencode. Или ето не то?

Спустя 5 минут, 36 секунд (16.11.2009 - 16:35) MainVoid написал(а):
Нет, сама папка должна именоваться латинскими символами

Спустя 4 часа, 46 минут, 53 секунды (16.11.2009 - 21:22) savelikan написал(а):
ага... создал... та же проблема. Ну вы посмотрите
http://testportal.2ua.org.ua/windows/index...lder=123/folder


_____________
Одесса - мой город!)))
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.