1

フォルダ内のファイル数をカウントし、その数を返して .js ファイルに変数を設定したいと考えています。

基本的に、フォルダーにはX個の画像があります。ユーザーが右矢印をクリックすると、既存の 8 つの画像のセットが次の 8 つの画像のセットに置き換えられます。フォルダーには 38 個のサムネイルがあるため、現在、手動で変数 (現在は 38 個) をページに入力しています。

コードは完全に機能しますが、ファイルを追加するたびに番号を変更するという考えは嫌いです。変数をフォルダー内の画像の正確な数に設定したいと思います。

これは JavaScript または jQuery を使用して可能ですか? この変数を返すために PHP ファイルを作成する必要がありますか? どんな情報でもいいです!

4

4 に答える 4

8

これは、PHP が適している種類のタスクであり、Javascript をクライアント側に保持します。フォルダー内のファイルをカウントする非常に単純な PHP スクリプトを作成する

echo iterator_count(new DirectoryIterator('/home/path/dir'));

そして、JQuery スクリプトから呼び出します。

$.get('numberoffiles.php', function(data) {
  alert(data);
});
于 2012-07-15T05:53:37.213 に答える
3

クライアント側を使用する必要があり、ファイルに番号が付けられている場合は、ファイルをプリロードして、エラーが発生したときに番号を設定します

...
Img = new Image();
Img.onerror=function() {
  maxImages=cnt-1;
}
Img.src = "image_"+cnt+".jpg";
于 2012-07-15T06:27:31.800 に答える
2

簡単な方法:

<?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>
于 2012-07-15T06:29:38.257 に答える
0

私はこのようにします

echo count(glob("{$_GET['dir']}/*.*"));
于 2012-07-15T06:12:40.437 に答える