Advertisement
lalatino

sorting images in javascript

Jun 2nd, 2013
257
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>http://stackoverflow.com/questions/16881351/sorting-by-upload-modified-date-php-code</title>
  5. <style type="text/css">
  6.         #container img { width:100px; height:100px; margin-right:1em; display:inline-block; }
  7. </style>
  8. <script type="text/javascript">
  9.  
  10. var container, images, arr;
  11.  
  12. function prepare_images(){
  13.         container = document.getElementById('container');
  14.         images = container.getElementsByTagName('img');//nodeList object
  15.         arr = [];//array object
  16.         for (var i=0;i<images.length;i++) {
  17.                 arr[i] = images[i];
  18.                 arr[i].onmouseenter = function(){
  19.                         var str = this.getAttribute('data-m') + ' : ' + this.getAttribute('data-u') + ' : ' + this.getAttribute('alt');
  20.                         document.getElementById('test').value = str;
  21.                 };
  22.         }
  23.         sort_images('data-m');
  24. }
  25.  
  26. function sort_images(attr,isNum){
  27.         arr.sort(function(a,b){
  28.                 return isNum? parseInt(a.getAttribute(attr),10) - parseInt(b.getAttribute(attr),10) :
  29.                         a.getAttribute(attr).toLowerCase().localeCompare(b.getAttribute(attr).toLowerCase());
  30.         });
  31.         for (var i=0;i<arr.length;i++) {
  32.           container.appendChild(arr[i]);
  33.         }
  34. }
  35.  
  36. if (window.addEventListener) {
  37.         window.addEventListener("load", prepare_images, false); // for all browsers
  38. } else if (window.attachEvent) {
  39.         window.attachEvent("onload", prepare_images); //for IE5-8
  40. }
  41.  
  42. </script>
  43. </head>
  44. <body>
  45. <button onclick="sort_images('data-m',true);">sort images by modification time</button>
  46. <button onclick="sort_images('data-u',true);">sort images by upload time</button>
  47. <button onclick="sort_images('alt',false);">sort images by alt name</button> <br/>
  48. <input id="test" type="text" value="" style="width:100%" />
  49. <div id="container">
  50. <?php
  51. //phpinfo();
  52. $dir = 'files';
  53. $file_display = array('jpg', 'jpeg', 'png', 'gif');
  54. if(file_exists($dir) == false){
  55.         echo 'Directory \''.$dir,'\' not found!';
  56. } else {
  57.         $dir_contents = scandir($dir);
  58.         //usort($dir_contents, create_function('$a,$b', 'return filemtime("'.$dir.'/$a")<filemtime("'.$dir.'/$b");'));
  59.         foreach($dir_contents as $file){
  60.                 if($file == '.' || $file == '..') { continue; }
  61.                 $arr = explode('.',$file);
  62.                 $file_type = strtolower(end($arr));
  63.                 if(in_array($file_type, $file_display)){
  64.                         echo '<img src="', $dir, '/', $file,'" alt="', $file,
  65.                                 '" data-m="', filemtime("$dir/$file"),
  66.                                 '" data-u="', filectime("$dir/$file"), '" />';
  67.                 }
  68.         }
  69. }
  70. ?>
  71. </div>
  72. </body>
  73. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement