[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: работа с md5 где попало =)
brainraider
Доброго времени суток, уважаемые форумчане!!!!

Вот задался вопросом создания ссылок по названию папок и родилась идея, но для ее реализации не хватает навыков и мозгов =)

В обзем вот:

Допустим есть на сайте папочка с названием "МегоПапка"
В такой папке валяются фотографии и чтобы получить к ним доступ, нужно пройти через папку, ННО не льзя в ссылках использовать русски (естественно =) )

Раз нельзя использовать русский, значит нужно использовать латиницу и цифры...

Берем папку и шифруем ее имя через МД5.

Вопрос в следующем, смогу ли я решить проблему таким путем???

Зачем все это нужно? Это нужно потому как у меня много фотогалерей, а ссылки типа Фотогалерея 1, Фотогалерея 2 меня не устраивают...
Базой не пользуюсь - очень геморно.

Поэтому и нужно что бы ссылки были по имени папки...

Есть канечно сумасшедшая идея в каждой папке размещать текстовый файлик с текстом для анчора... но тут тоже гемора "мама не горюй".

В общем, буду очень благодарен за любую оказанную помощь!!!



Спустя 3 минуты, 35 секунд (11.12.2009 - 19:09) kirik написал(а):
Цитата (brainraider @ 11.12.2009 - 11:06)
Базой не пользуюсь - очень геморно.

Повеселил smile.gif Вот то что ты с md5 придумал - это геморно smile.gif

Спустя 46 секунд (11.12.2009 - 19:10) twin написал(а):
Цитата
Базой не пользуюсь - очень геморно.

Удивительно... Не езжу на метро, пешком хожу... Геморрно это - вниз спускаться, наверх... Проще уж как с детства привык...

Функция md5() довольно ресурсоемка, но если тебе плевать на удобство базы, то конечно пойдет.

Спустя 3 минуты, 56 секунд (11.12.2009 - 19:14) brainraider написал(а):
Само собой базой удобно, но когда у тебя 100500 папок с фотками, легче просто закидывать по фтп на серв папки, чем запускать скрипт, который потом будет все равно лить их на сервак..., в общем тут база медленнее.

Если md5 можно...

То подскажите пожалуйста как :

- закодировать и сохранить имя (исходное), всмысле тут нужно пользоваться суперглобалами?

- Не возникнет ли у меня проблем с переходом в папку - физически ведь ссылка не изменится.

Возьмем для примера туже папку "МегаПапка"

допустим мы ее закодировали - "1f3870be274f6c49b3e31a0c6728957f"

Теперь http://....../1f3870be274f6c49b3e31a0c6728957f/1.jpg будет работать?

Спустя 45 секунд (11.12.2009 - 19:15) brainraider написал(а):
kirik Быть может, но мне это очень нужно =)

Спустя 1 минута, 10 секунд (11.12.2009 - 19:16) Romms написал(а):
Я чесно говоря не понял проблемы... ты хочь чтобы по таком адресу http://my.ru/МоиФото/ выдавался страница, но так как кириллицу использовать нельзя ты хоч эту папу переименовать(например) на ajh31290f239ew?
так в чём проблема?

Спустя 3 минуты, 8 секунд (11.12.2009 - 19:19) brainraider написал(а):
ты усек =)

Да мне нужно, что бы папка была с русским именем, но я мог к ней обращаться.

Спустя 5 минут (11.12.2009 - 19:24) brainraider написал(а):
Кажется я очень сильно облажался =)

Спустя 3 минуты, 3 секунды (11.12.2009 - 19:27) brainraider написал(а):
Прошу прощения, не знал, что можно пользоваться русскими папками.... Тему можно закрывать

Спустя 2 минуты, 42 секунды (11.12.2009 - 19:30) kirik написал(а):
brainraider
лучше не стоит пользоваться папками/файлами с русскими названиями.

Спустя 2 минуты, 10 секунд (11.12.2009 - 19:32) brainraider написал(а):
почему?

Спустя 1 час, 26 минут, 35 секунд (11.12.2009 - 20:58) twin написал(а):
Низя и фсё. smile.gif
Это винда и притом дома, позволяет такие вольности. А вот аппач не понимает даже своей родной письменности - только язык колонизаторов.

Спустя 15 минут, 29 секунд (11.12.2009 - 21:14) VolCh написал(а):
Такие ресурсы как википедиа используют и ничего. На *nix-хостингах тоже без проблем использовал. Конечно, если на хостинге стоит KOI-8R, а страница в Windows-1251, то может где-то вылезти гемор. Но это же не наш случай? У нас же везде UTF-8, не так ли? wink.gif

Спустя 8 минут, 36 секунд (11.12.2009 - 21:23) twin написал(а):
Ты про что? Про вики-движок, что на википедии? А ты внутрь смотрел?
Нет там ни одного файла в фс с названием на кирилице не латинице.
Это все от реализации зависит. И в урлах тоже самое. Если интересно как, могу поведать. Совсем недавно его перебирал, движок этот.

Спустя 36 минут (11.12.2009 - 21:59) brainraider написал(а):
"Вы говорите столько странных слов..." (С)

У меня везде стоит 1251... Я как бы самоучка и вот так научился )

очень странное происшествие...

Вот есть т раничка:

http://www.yaltarent.com/houses.php?code=D...%E2%E8%EB%EB%FB

на ней фотки

у моего друга на компе все отображается... и ссылки на фото такие -
http://www.yaltarent.com/apanel/photos/DO1...%EB%EB%FB/1.JPG

а у меня на компе вот такие:
http://www.yaltarent.com/apanel/photos/DO1...ы%20виллы/1.JPG


С чем это может быть связано?

Спустя 8 минут, 21 секунда (11.12.2009 - 22:07) twin написал(а):
Это связано с браузером наверно. Вообще в урл нельзя передать кирилицу в чистом виде. Это противоречит стандартам протокола http. Браузеры обычно сами урл-кодируют кирилицу. и она будет выглядеть так:
%E2%E8%EB%EB%FB

Но если нужно в строке увидеть знакомые буквы, нужно в ссылках писать не их, а их коды. Допустим так:
& #1072;& #1073;& #1074;& #1075;& #1076;
(без пробелов, форум не берет в чистом виде)
Но на сервере все равно нужны преобразования.

Спустя 13 минут, 50 секунд (11.12.2009 - 22:21) VolCh написал(а):
Разные браузеры/ос?

Спустя 8 минут, 1 секунда (11.12.2009 - 22:29) twin написал(а):
Попробуй... Вот так::
<a href="?a=абвгд"> абвгд</a>

и так
<a href="?a=& #1072;& #1073;& #1074;& #1075;& #1076;"> абвгд</a>
ток без пробелов. В разных браузерах... Самому интересно. smile.gif

Спустя 1 минута (11.12.2009 - 22:30) Romms написал(а):
Цитата

Вот есть т раничка:
http://www.yaltarent.com/houses.php?code=D...%E2%E8%EB%EB%FB

В Chrome что изображений невидно huh.gif

Спустя 14 минут, 56 секунд (11.12.2009 - 22:45) VolCh написал(а):
twin
Я к тому, что современные браузеры и сервера нормально принимают кириллицу (в UTF-8 точно, а значит и любую нелатиницу), а современные ОС вполне корректно работают с этой же кириллицей. Вот живой пример volch.pp.ru/папка/файл.html - хост под Debian вертится, файл создан в винде и закачан из под неё...

Спустя 1 минута, 27 секунд (11.12.2009 - 22:46) brainraider написал(а):
VolCh у меня хрюша, у друга Седьмые Окна, браузеры: Осел, Авант, Мозилла, Опера (и у него и у меня)
twin ... тут беда будет =))))) вот код образования ссылок:
function links_of_folders($url) //Функция забивает папки в массив
{
$dir=opendir($url);
$folder=array();
while (false!==($fldr=readdir($dir)))
if($fldr!="." && $fldr!="..")
{
if(is_dir($url.'/'.$fldr))
$folder[]=$fldr;
}
closedir($dir);
return $folder;
}

function conclusion_links_of_folder($folder) //функция выводит ссылки
{
$count=0;
global $row;
natsort($folder);
foreach ($folder as $n)
{
$count++;
if($n=="all")
echo'<a href="?code='.$row[3].'&photos='.$n.'" class="o-r">Фотогалерея >>></a><br/><br/>';
else
echo'<a href="?code='.$row[3].'&photos='.$n.'" class="o-r">'.$n.' >>></a><br/><br/>';
}
}

Romms хм... всмысле нет? даже ячеек нету? или самого изображения нет?


Спустя 23 минуты, 40 секунд (11.12.2009 - 23:10) twin написал(а):
Действительно беда... Ну низя кирилицу в фс же... Пересмотреть логику надыть.

Спустя 48 минут, 58 секунд (11.12.2009 - 23:59) brainraider написал(а):
эх... я просто не знаю что уже делать =)))) это жестяк... до этого все было деревянное... щас перлопатил....

Ладно, если еще идеи будут как сделать - отпишите плиз, а я буду мучать гугл =))))) если получится напишу как добиться...

Спустя 3 часа, 48 минут, 35 секунд (12.12.2009 - 03:47) brainraider написал(а):
Все заработало... Конечно, решение проблемы заняло порядка 5 часов 2х людей (меня малосведущего и моего друга, который открыл мне истину =) За что ему МЕГА РЕСПЕКТ!!!) В общем вот как все должно быть:


function to_ascii($var)
{
global $res;
$znachenie_hex=array(" "=>"%20", "!"=>"%21", "\""=>"%22", "#"=>"%23", "$"=>"%24", "%"=>"%25", "&"=>"%26", "'"=>"%27", "("=>"%28", ")"=>"%29", "*"=>"%2A", "+"=>"%2B", ","=>"%2C", "-"=>"%2D", "."=>"%2E", "/"=>"/", "0"=>"%30", "1"=>"%31", "2"=>"%32", "3"=>"%33", "4"=>"%34", "5"=>"%35", "6"=>"%36", "7"=>"%37", "8"=>"%38", "9"=>"%39", ":"=>"%3A", ";"=>"%3B", "<"=>"%3C", "="=>"%3D", ">"=>"%3E", "?"=>"%3F", "@"=>"%40", "A"=>"%41", "B"=>"%42", "C"=>"%43", "D"=>"%44", "E"=>"%45", "F"=>"%46", "G"=>"%47", "H"=>"%48", "I"=>"%49", "J"=>"%4A", "K"=>"%4B", "L"=>"%4C", "M"=>"%4D", "N"=>"%4E", "O"=>"%4F", "P"=>"%50", "Q"=>"%51", "R"=>"%52", "S"=>"%53", "T"=>"%54", "U"=>"%55", "V"=>"%56", "W"=>"%57", "X"=>"%58", "Y"=>"%59", "Z"=>"%5A", "\\"=>"%5C", "^"=>"%5E", "_"=>"%5F", "a"=>"%61", "b"=>"%62", "c"=>"%63", "d"=>"%64", "e"=>"%65", "f"=>"%66", "g"=>"%67", "h"=>"%68", "i"=>"%69", "j"=>"%6A", "k"=>"%6B", "l"=>"%6C", "m"=>"%6D", "n"=>"%6E", "o"=>"%6F", "p"=>"%70", "q"=>"%71", "r"=>"%72", "s"=>"%73", "t"=>"%74", "u"=>"%75", "v"=>"%76", "w"=>"%77", "x"=>"%78", "y"=>"%79", "z"=>"%7A", "~"=>"%7E", "А"=>"%C0", "Б"=>"%C1", "В"=>"%C2", "Г"=>"%C3", "Д"=>"%C4", "Е"=>"%C5", "Ж"=>"%C6", "З"=>"%C7", "И"=>"%C8", "Й"=>"%C9", "К"=>"%CA", "Л"=>"%CB", "М"=>"%CC", "Н"=>"%CD", "О"=>"%CE", "П"=>"%CF", "Р"=>"%D0", "С"=>"%D1", "Т"=>"%D2", "У"=>"%D3", "Ф"=>"%D4", "Х"=>"%D5", "Ц"=>"%D6", "Ч"=>"%D7", "Ш"=>"%D8", "Щ"=>"%D9", "Ъ"=>"%DA", "Ы"=>"%DB", "Ь"=>"%DC", "Э"=>"%DD", "Ю"=>"%DE", "Я"=>"%DF", "а"=>"%E0", "б"=>"%E1", "в"=>"%E2", "г"=>"%E3", "д"=>"%E4", "е"=>"%E5", "ж"=>"%E6", "з"=>"%E7", "и"=>"%E8", "й"=>"%E9", "к"=>"%EA", "л"=>"%EB", "м"=>"%EC", "н"=>"%ED", "о"=>"%EE", "п"=>"%EF", "р"=>"%F0", "с"=>"%F1", "т"=>"%F2", "у"=>"%F3", "ф"=>"%F4", "х"=>"%F5", "ц"=>"%F6", "ч"=>"%F7", "ш"=>"%F8", "щ"=>"%F9", "ъ"=>"%FA", "ы"=>"%FB", "ь"=>"%FC", "э"=>"%FD", "ю"=>"%FE", "я"=>"%FF");
for($i=0; $i<strlen($var); $i++)
{
foreach ($znachenie_hex as $znachenie => $hex)
{
if($var[$i]===$znachenie)
{
$res.=$hex;

}
}
}
}


to_ascii($_GET['photos']);
$images=img_for_objects("apanel/photos/".$row[3]."/".$_GET['photos']);
conclusion_photogalery("apanel/photos/".$row[3]."/".$res,$images);


Спасибо всем за участие в процессе =)

Спустя 11 дней, 19 часов, 53 минуты, 40 секунд (23.12.2009 - 23:41) Lex_R написал(а):
В таком случае, может лучше воспользоваться стандартной функцией urlencode()?


_____________
Там где есть новички, есть и двигатель прогресса!!!
Ну, если не сказать больше=)
Быстрый ответ:

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