На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Внимательно изучите правила раздела перед созданием темы
0. ПРИЛАГАЙТЕ СВОИ СКРИПТЫ.
1. Прежде чем создать топик, используйте поиск. Возможно это уже обсуждалось.
2. В топике указывайте ОС, режим работы скрипта (CLI|CGI). Очень желателен вывод лог-файлов и того места, куда у вас назначен вывод данных (STDOUT|STDERR)
3. Помните: вы знаете что вы хотите, а форумчане - нет. Поэтому следуйте простому правилу: грамотный развернутый вопрос - грамотный развернутый ответ.
Модераторы: ANDLL
  
    > Помогите с hash-массивами , Передача Hash массива в PHP
      Есть сайт, написанный на Perl, представляет из себя интернет-магазин, к каждому товару прикрепляется изображение, ссылка на которое хранится в mysql, только не в открытом виде, а в виде hash-массива с несколькими ключами.
      Задача состоит в том, чтобы как то получить ссылку из PHP, возможно ли это, не прибегая вообще к perl ?
      Сама запись в таблице выглядит так:
      0x363837343734373033613266326637333635373237363639363336353334373336353732373636393633363532653732373532663733373937333734363536643266363336663664366436663665326636393664363136373635373332663733373937333734363536643265343936643631363736353437363136633663363537323739326633363334333633393266333933303266356633313330333033393331333135663737363536323265366137303637

      PHP выдает её вот в таком виде:
      687474703a2f2f7365727669636534736572766963652e72752f73797374656d2f636f6d6d6f6e2f696d616765732f73797374656d2e496d61676547616c6c6572792f32353137342f39302f5f3130303136395f7765622e6a7067
        Лучше привел перловский код - как из hash-массива получается картинка.
          разобрался, оказывается это всего лишь адрес, записанный в хексе

          ниже функция для перевода такого хекса в читабельный вид с учетом кириллицы и спец.символов - они остаются в хексе
          ExpandedWrap disabled
            function hexToURL($hex)
            {
                $dbl_img = strpos($hex, ",", 140);  //Check for second image and delete it from string
                if($dbl_img === false){
                    $url_hex=$hex;}
                else{
                    $url_hex = substr($hex, 0, $dbl_img);}
             
                $strLength = strlen($url_hex);
                $returnVal = '';
             
                for($i=0; $i<$strLength; $i += 2)
                {
                    $dec_val = hexdec(substr($url_hex, $i, 2));
                    if(($dec_val >= 65 AND $dec_val <= 90) OR ($dec_val >= 97 AND $dec_val <= 122) OR ($dec_val >= 48 AND $dec_val <=58) OR $dec_val == 47 OR $dec_val == 46){  //Convert only ASCII symbols, extentions symbols stays in hex
                        $returnVal .= chr($dec_val);}
                    else{
                        $returnVal .= "%".substr($url_hex, $i, 2);}
                }
                return $returnVal;
            }
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0185 ]   [ 15 queries used ]   [ Generated: 28.03.24, 22:44 GMT ]