2012-07-15 3 views
0

폴더의 파일 수를 계산하고 그 수를 반환하여 .js 파일의 변수를 설정하고 싶습니다.jQuery를 사용하여 디렉토리의 파일을 어떻게 계산합니까?

기본적으로 폴더에 X 개의 이미지가 있습니다. 사용자가 오른쪽 화살표를 클릭하면 기존 이미지 세트 8 개를 다음 이미지 세트 8 개로 바꿉니다. 현재 폴더에 38 개의 축소판이 있으므로 수동으로 변수 (38 지금은)를 페이지에 입력합니다.

코드가 완벽하게 작동하지만 파일을 추가 할 때마다 번호를 변경하는 아이디어가 싫습니다. 변수를 폴더의 정확한 이미지 수로 설정하고 싶습니다.

JavaScript 또는 jQuery를 사용하면 가능합니까? 이 변수를 반환하기 위해 PHP 파일을 작성해야합니까? 어떤 정보라도 좋을 것입니다!

+0

[ cal 파일 jQuery 함께] (http://stackoverflow.com/questions/6917910/accessing-local-files-with-jquery) –

+0

서버 측 언어로 서버 쪽 정보 (폴더의 이미지 목록)를 스크립팅하는 것이 더 좋습니다 (php). 클라이언트는 서버의 파일 시스템에 직접 액세스 할 수 없습니다. –

+0

이것은 귀하의 질문과 관련이있는 것 같습니다 : http://stackoverflow.com/questions/1266004/count-number-of-files-in-a-folder-through-javascript – avue

답변

7

이것은 PHP가 더 적합한 작업의 일종으로 자바 스크립트를 클라이언트 측에 유지하는 것입니다. 폴더에있는 파일을 계산하는 매우 간단한 PHP 스크립트를 작성하십시오.

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

그리고 JQuery 스크립트에서 호출하십시오.

$.get('numberoffiles.php', function(data) { 
    alert(data); 
}); 
+0

ur 왕의 남자 (Y) –

0

당신이 클라이언트 측을 사용해야하는 경우 나는이

echo count(glob("{$_GET['dir']}/*.*")); 
+0

나는 당신이 적어도 이것이 안전하지 않다는 것을 언급해야하고,'dir' 변수가 사용되기 전에 위생되어야하는지 확인해야합니다. –

+0

네, 그렇지만 저는 그것이 주어진 것이라고 생각했습니다. 물론 사용자는 자신의 필요에 맞게이 코드를 변경해야합니다. –

2

처럼 할 것와 파일 번호가 파일을 미리로드 및 오류를 얻을 때 수를 설정

... 
Img = new Image(); 
Img.onerror=function() { 
    maxImages=cnt-1; 
} 
Img.src = "image_"+cnt+".jpg"; 
+1

그냥 PHP로 진행하는 것처럼 보이지만 자바 스크립트로 클라이언트 측 솔루션을 고맙게 생각합니다. 고마워요! 스펙트럼의 양면을 갖는 것이 좋습니다. – bdrelling

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> 
관련 문제