Я хотел бы подсчитать количество файлов в папке и вернуть это число, чтобы установить переменную в файле .js.
По сути, у меня есть X количество изображений в папке. Когда пользователь нажимает стрелку вправо, я заменяю существующий набор из 8 изображений на следующий набор из 8 изображений и т. Д. И т. Д. В настоящее время я вручную ввожу переменную (38 прямо сейчас) на страницу, так как в папке 38 значков.
Код работает отлично, но я ненавижу идею изменения числа каждый раз, когда добавляю файл. Я хотел бы, чтобы он установил переменную в точное количество изображений в папке.
Возможно ли использование JavaScript или jQuery? Мне нужно написать файл PHP, чтобы вернуть эту переменную для меня? Любая информация была бы замечательной!
Это задача, для которой лучше подходит PHP, чтобы поддерживать Javascript на стороне клиента. Напишите очень простой PHP-скрипт, который считает файлы в папке
echo iterator_count(new DirectoryIterator('/home/path/dir'));
И назовите это из вашего сценария JQuery.
$.get('numberoffiles.php', function(data) { alert(data); });
Если вы должны использовать клиентскую сторону, а файлы пронумерованы, предварительно загрузите файл и установите номер, когда вы получите сообщение об ошибке
... Img = new Image(); Img.onerror=function() { maxImages=cnt-1; } Img.src = "image_"+cnt+".jpg";
Простой способ:
<?php $dir = "images"; $file_count = count(glob("{$dir}/*.*")); ?> <html> <head> <title>Welcome</title> </head> <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ var dir = <?php echo $dir ?>; var file_count = <?php echo $file_count ?>; $('#msg').html('File count in folder ' + dir + ' is ' + file_count); }); </script> <body> <div id="msg"></div> </body> </html>
Я бы сделал это так
echo count(glob("{$_GET['dir']}/*.*"));