JSON Encode

Discussion in 'PHP' started by kpuk, 17 Oct 2010.

  1. kpuk

    kpuk Member

    Joined:
    15 Oct 2010
    Messages:
    47
    Likes Received:
    6
    Reputations:
    0
    Привет всем. Столкнулся с небольшой проблемой, есть скрипт, он не большой, он нужен для обработки фотографий, так вот, скрипт обрабатывает эти фотографии рамдомно или вообще как-то непонятно. Мне нужно чтобы фотографии шли строго по порядку (1.jpg, 2.jpg, 3.jpg, 4.jpg и т.д.). Но как сделать это я не понял, понял лишь что что скорее всего вся трабла находится в этой строчке:
    Code:
    $encoded 	= json_encode($files);
    Вот весь код целиком:
    Code:
    <?php
    $location 	= 'albums';
    $album_name	= $_GET['album_name'];
    $files 		= glob($location . '/' . $album_name . '/*.{jpg,gif,png,JPG,GIF,PNG}', GLOB_BRACE);
    [COLOR=Red][B]$encoded 	= json_encode($files);[/B][/COLOR]
    echo $encoded;
    unset($encoded);
    Заранее спасибо.
     
  2. Alexander89

    Alexander89 Member

    Joined:
    30 Nov 2009
    Messages:
    30
    Likes Received:
    8
    Reputations:
    0
    Скрипт не полный и нефига не понятно.
    Попробуй

    PHP:
    <?php
    $location     
    'albums';
    $album_name    $_GET['album_name'];
    $files         glob($location '/' $album_name '/*.{jpg,gif,png,JPG,GIF,PNG}'GLOB_BRACE);
    print_r($files);
    $encoded     json_encode($files);
    print_r($encoded);
     
  3. kpuk

    kpuk Member

    Joined:
    15 Oct 2010
    Messages:
    47
    Likes Received:
    6
    Reputations:
    0
    Не, не помогло, не открывает альбом вообще. Вот сама галлерея, если это поможет: http://zalil.ru/29818850
     
  4. Alexander89

    Alexander89 Member

    Joined:
    30 Nov 2009
    Messages:
    30
    Likes Received:
    8
    Reputations:
    0
    Какой результат возвращает скрипт
     
  5. kpuk

    kpuk Member

    Joined:
    15 Oct 2010
    Messages:
    47
    Likes Received:
    6
    Reputations:
    0
    Никакого, просто зависает на загрузке...
     
  6. Alexander89

    Alexander89 Member

    Joined:
    30 Nov 2009
    Messages:
    30
    Likes Received:
    8
    Reputations:
    0
    там нечему зависать.
    Ты что то не то запускаешь
     
  7. kpuk

    kpuk Member

    Joined:
    15 Oct 2010
    Messages:
    47
    Likes Received:
    6
    Reputations:
    0
    Там есть чему зависать, галлерея просто не открывает фотки, загрузи, сам посмотри...
     
  8. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    kpuk когда отлаживаете скрипт - загружать надо скипт, а не весь сайт целиком. Естественно, что jquery не может получить данные, если скрипт из возращает "в левом" формате.

    Проблема с порядком можно решить двумя путями:
    1) Переименовать все файлы так, чтобы их имена были трехзнаковыми и слева дополнялись нулями, то есть: 001.jpg, 002.jpg, 003.jpg и так далее
    Или:
    2) Применить функцию natsort()
    PHP:
    $location     'albums';
    $album_name    $_GET['album_name'];
    $files         glob($location '/' $album_name '/*.{jpg,gif,png,JPG,GIF,PNG}'GLOB_BRACE);
    natsort($files);
    $encoded     json_encode($files);
    echo 
    $encoded;
    unset(
    $encoded);
     
    _________________________
  9. kpuk

    kpuk Member

    Joined:
    15 Oct 2010
    Messages:
    47
    Likes Received:
    6
    Reputations:
    0
    Спасибо за ответ, но к сажелению это не помогло, ни первый, ни второй, ни оба вместе варианты. При переименовании всех файлов в трехзнаковый вид меняется порядок, но он остается рандомным, смешанным. При применении данной функции альбом просто не открывается, как и в прошлый раз.

    P/S/ Возможно я туп. Но кажется я сделал все правильно...
     
  10. Fepsis

    Fepsis Elder - Старейшина

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    Так так не рандомно выводятся фотки а в обратном алфовитному порядке..
    Чтобы в алфавитном, видимо:
    PHP:
    <?php
    $location     
    'albums';
    $album_name    $_GET['album_name'];
    $files         glob($location '/' $album_name '/*.{jpg,gif,png,JPG,GIF,PNG}'GLOB_BRACE);
    rsort($files);
    $encoded     json_encode($files);
    echo 
    $encoded;
    unset(
    $encoded);
    ?>
     
  11. kpuk

    kpuk Member

    Joined:
    15 Oct 2010
    Messages:
    47
    Likes Received:
    6
    Reputations:
    0
    Грамадное спасибо помогло!!!