【问题标题】:PHP/Jquery - Variable that stores the number of files in a folder and then use it as a loop counterPHP/Jquery - 存储文件夹中文件数量的变量,然后将其用作循环计数器
【发布时间】:2015-07-02 05:06:51
【问题描述】:

短版需要帮助创建一个变量来存储文件夹中的文件数量,然后将其用作循环计数器。

完整版:我以为我找到了答案HERE,但它对我不起作用。由于我没有足够的声誉,我无法评论那个旧线程,所以我在这里。

我创建了一个 JQuery 函数来将图像添加到投资组合页面。它是:

$(document).ready(function() {
   for (i = 1; i <= 9; i++) {
      $('.flex-container').append('<aside class="flex-item"><img src="images/portfolio/' + i + '.jpg" alt="blah blah"></aside>');
   }
});

如您所见,我从 9 张图片开始。但是,我希望网站在将其他图像添加到“图像/组合”文件夹时自动更新。 (图片按数字顺序命名,如1.jpg、2.jpg等)

基于我上面链接的线程,我创建了一个名为numberoffiles.php 的php 文件。该文件包含:

<?php 
   return iterator_count(new DirectoryIterator('../images/portfolio'));
?>

(我的根目录包含这些文件所在的“图像”和“脚本”文件夹。)

我将我的 js 文件编辑为:

$(document).ready(function() {
    $.get('numberoffiles.php', function(data) {
        var count = data;
    });
    for (i = 1; i <= count; i++) {
        $('.flex-container').append('<aside class="flex-item"><img src="images/portfolio/' + i + '.jpg" alt="blah blah"></aside>');
    }
});

我在$(document).ready(function) 内部和外部都尝试了$.get 代码,但都没有成功。

有些东西告诉我我在这里遗漏了一些非常简单的东西。

【问题讨论】:

    标签: php jquery directory counter


    【解决方案1】:

    这很简单。使用 for() 迭代时未收到 AJAX 数据。您可以使用 promises 或 deferred,或者简单地使用带有 GET 参数的 $.ajax 函数。

    您可以在不更改代码的情况下尝试此操作:

    $(document).ready(function() {
        $.get('numberoffiles.php', function(data) {
            var count = data;
    
            for (i = 1; i <= count; i++) {
                 $('.flex-container').append('<aside class="flex-item"><img src="images/portfolio/' + i + '.jpg" alt="blah blah"></aside>');
            }
        });
    });
    

    祝你好运。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-10
      • 1970-01-01
      • 1970-01-01
      • 2021-01-24
      • 2017-07-05
      • 1970-01-01
      • 1970-01-01
      • 2018-03-29
      相关资源
      最近更新 更多