добавление изображений из php в документ с помощью javascript / jquery

0
    <?php
$imgDir =   'images/';
$images =   glob($imgDir . '*.{jpg,jpeg,png,gif}',GLOB_BRACE);
echo json_encode($images);  
?>

<script>
jQuery(function(){
    var phpvar  =   '<?php echo json_encode($images) ?>';
        jQuery('body').append('<img src="' + phpvar + '"/>');
    });
</script>

Верхний php сканирует папку "изображения" и перекликается со всеми файловыми именами. Однако я хочу использовать массив, сформированный из этого, и добавить его к документу/телу для отображения изображений. Но я не уверен, как передать php-переменную '$ images' в jquery/javascript

  • 0
    stackoverflow.com/questions/16202712/...
  • 0
    Вы хотите получить доступ к переменной php в jquery?
Показать ещё 2 комментария
Теги:

3 ответа

1
Лучший ответ

phpvar самом деле представляет собой массив (при условии, что вы удаляете кавычки), поэтому вам нужно пройти через этот массив и добавить каждое изображение отдельно, например:

jQuery(function(){
    var phpvar = <?php echo json_encode($images) ?>;
    $.each(phpvar, function(id, image){
        jQuery('body').append('<img src="' + image + '"/>');
    });
});
  • 0
    никаких проблем, одно удовольствие :)
1

По-моему, вы тратите впустую обработку и ненужную структуру для простой обработки массивов PHP.

Нет необходимости в JSON, JSONEncode или jQuery:

foreach (glob('images/*.{jpg,jpeg,png,gif}',GLOB_BRACE) as $filename) {
  echo '<img src=".$filename.'" alt="" />'."\n";
}
-2
<?php
$imgDir =   'images/';
$images =   glob($imgDir . '*.{jpg,jpeg,png,gif}',GLOB_BRACE);
$image_var ="";
foreach($images as $img)
{
$image_var.="<img src=".$img.">";
}

echo json_encode($image_var);
?>

<script>
jQuery(function(){
var phpvar  =   <?php echo json_encode($image_var) ?>;
    jQuery('body').append(phpvar);
});
</script>
  • 0
    Нет необходимости ни кодировать эту строку, ни заключать ее в кавычки в скрипте, ни использовать jQuery

Ещё вопросы

Сообщество Overcoder
Наверх
Меню