php - Adding filename to glob script -


i using following script display images on page. looking have 12000 images in folder, hence need pagination. files names numbers in ascending order 1 - 12000 , must displayed in order.

<?php  $dir = "../image/thumb/";  //set extensions want load, seperate comma. $extensions = "jpeg,jpg";  //set number of images want display per page $imagesperpage = 20;  //set $page variable if(!isset($_get['page'])){ $page = 1; }else{ $page = $_get['page']; }  //load images array $images = glob($dir."*.{".$extensions."}", glob_brace);  //count number of images $totalimages = count($images);  //get total pages $totalpages = ceil($totalimages / $imagesperpage);  //make sure page on not greater total pages available. if($page > $totalpages){ //set currnet page total pages. $page = $totalpages; }  //now find start loading $from = ($page * $imagesperpage) - $imagesperpage;  //now start looping for($i = $from; $i < ($from + $imagesperpage); $i++){ //we need make sure within range of totalimages. if($i < $totalimages){     //now can display image!     echo "<img src='{$images[$i]}' alt='{$images[$i]}' />"; } }  //now display page numbers! for($p = 1; $p <= $totalpages; $p++){ if($p == $page){     $tmp_pages[] = "<strong>{$p}</strong>"; }else{     $tmp_pages[] = "<a href='?page={$p}'>{$p}</a>"; } }  //now display pages, seperated hyphon. echo "<br />" . implode(" - ", $tmp_pages); ?> 

i need have filenames echo below each image how can achieve this?

many in advance.

===== edit =====

this script works superscript complete code is:

<?php  //the directory images folder, trailing slash $dir = "../image/thumb/";  //set extensions want load, seperate comma. $extensions = "jpeg,jpg";  //set number of images want display per page $imagesperpage = 20;  //set $page variable if(!isset($_get['page'])){ $page = 1; }else{ $page = $_get['page']; }  //load images array $images = glob($dir."*.{".$extensions."}", glob_brace);   usort($images,function($a,$b){  $a=(int)preg_replace('~\d~','',$a);  $b=(int)preg_replace('~\d~','',$b);  return $a<$b?-1:1;  });  //count number of images $totalimages = count($images);  //get total pages $totalpages = ceil($totalimages / $imagesperpage);  //make sure page on not greater total pages available. if($page > $totalpages){ //set currnet page total pages. $page = $totalpages; }  //now find start loading $from = ($page * $imagesperpage) - $imagesperpage;  //now start looping for($i = $from; $i < ($from + $imagesperpage); $i++){    //we need make sure within range of totalimages.     if($i < $totalimages){     //now can display image!     // echo "<img src='{$images[$i]}' alt='{$images[$i]}' /><a class=\"filename\">" .     basename($images[i]) . "</a>"; echo "<img src='{$images[$i]}' alt='{$images[$i]}' /><p>" . basename($images[$i]) . "        </p>"; } }  //now display page numbers! for($p = 1; $p <= $totalpages; $p++){ if($p == $page){     $tmp_pages[] = "<strong>{$p}</strong>"; }else{     $tmp_pages[] = "<a href='?page={$p}'>{$p}</a>"; } }  //now display pages, seperated hyphon. echo "<br />" . implode(" - ", $tmp_pages); ?> 

try changing echo line (//now can display image!):

echo "<img src='{$images[$i]}' alt='{$images[$i]}' /><p>" . basename($images[$i]) . "</p>"; 

the basename() function returns filename of file.

and sort correctly, add line after $images:

usort($images,function($a,$b){     $a=(int)preg_replace('~\d~','',$a);     $b=(int)preg_replace('~\d~','',$b);     return $a<$b?-1:1; }); 

Comments

Popular posts from this blog

javascript - jquery or ashx not working -

opencv - DataType<cv::detail::deriv_type>::depth what is it used for -

python 3.x - Mapping specific letters onto a list of words -