<?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
phpvar
самом деле представляет собой массив (при условии, что вы удаляете кавычки), поэтому вам нужно пройти через этот массив и добавить каждое изображение отдельно, например:
jQuery(function(){
var phpvar = <?php echo json_encode($images) ?>;
$.each(phpvar, function(id, image){
jQuery('body').append('<img src="' + image + '"/>');
});
});
По-моему, вы тратите впустую обработку и ненужную структуру для простой обработки массивов PHP.
Нет необходимости в JSON, JSONEncode или jQuery:
foreach (glob('images/*.{jpg,jpeg,png,gif}',GLOB_BRACE) as $filename) {
echo '<img src=".$filename.'" alt="" />'."\n";
}
<?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>