wmguk Posted March 31, 2008 Share Posted March 31, 2008 Hi, I am using this script to create a gallery array <? $login = $_GET['login']; $dir ="http://www.mmm.co.uk/clients/$login/"; include "/var/www/vhosts/mmm.co.uk/httpsdocs/scripts/connection.php"; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <link href="../../styles.css" rel="stylesheet" type="text/css" /> </head> <body> <script src="getpics.php?dir=<? echo $dir; ?>" type="text/javascript"></script> <script type="text/javascript"> var dimension="1x20" //Specify dimension of gallery (number of images shown), such as 4x2, 3x1 etc var imagepath="<? echo $dir ?>" //Absolute path to image directory. Include trailing slash (/) var href_target="order" //Enter target attribute of links, if applicable var popupsetting=[0, ""] var descriptionprefix=[0, " "] var gsortorder="" /////No need to edit beyond here/////////////////// function sortbydate(a, b){ //Sort images function if (gsortorder=="asc") //sort by file date: older to newer return new Date(a[1])-new Date(b[1]) else if (gsortorder=="desc") //sort by file date: newer to older return new Date(b[1])-new Date(a[1]) } if (gsortorder=="asc" || gsortorder=="desc") galleryarray.sort(sortbydate) else galleryarray.sort(); var totalslots=dimension.split("x")[0]*dimension.split("x")[1] function buildimage(i){ var imagecompletepath='dis.php?login=<?php echo $login; ?>&image=<? echo $dir ; ?>/'+galleryarray[i][0]+'' var tempcontainer='<table align="center"><tr><td>' tempcontainer+='<a href="'+imagecompletepath+'" target="'+href_target+'" onClick="return popuplinkfunc(this)">' tempcontainer+='<img src="'+imagepath+galleryarray[i][0]+'" title="'+galleryarray[i][0]+'"/>' tempcontainer+='</a></td></tr><tr><td class="image">'+galleryarray [i][0]+'</td></tr><tr><td><hr /></td></tr></table>' return tempcontainer } function jumptopage(p){ var startpoint=(p-1)*totalslots var y=1; for (i=0; i<totalslots; i++){ document.getElementById("slide"+i).innerHTML=(typeof galleryarray[startpoint+i]!="undefined")? buildimage(startpoint+i) : "" } while(document.getElementById("navlink"+y)!=null){ document.getElementById("navlink"+y).className="" y++ } document.getElementById("navlink"+p).className="current" } var curimage=0 for (y=0; y<dimension.split("x")[1]; y++){ for (x=0; x<dimension.split("x")[0]; x++){ if (curimage<galleryarray.length) document.write('<div id="slide'+curimage+'" class="slideshow">'+buildimage(curimage)+'</div>') curimage++ } document.write('') } function popuplinkfunc(imgsrc){ if (popupsetting[0]==1){ var popwin=open(imgsrc.href, "popwin", popupsetting[1]) popwin.focus() return false } else return true } </script> <!--Below HTML code refers to the navigational links for the gallery--> <div id="navlinks"><script type="text/javascript"> for (i=1; i<Math.ceil(galleryarray.length/totalslots)+1; i++) document.write('<span class="main"><a id="navlink'+i+'" href="javascript:jumptopage('+i+')\">['+i+']</a></span> ') document.getElementById("navlink1").className="current" </script></div> </body> </html> Only issue is, that it doesnt find any .jpgs to create an array of i get this error: Line 101 Char 11 GalleryArray is undefined thats in the javascript error box, but its something to do with the data passing through. this is the getpics.php page <? Header("content-type: application/x-javascript"); function returnimages() { $dirname=. $_GET["dir"]; $pattern="\.(jpg|jpeg|png|gif|bmp)$"; $files = array(); $curimage=0; if($handle = opendir($dirname)) { while(false !== ($file = readdir($handle))){ if(eregi($pattern, $file)){ $filedate=date ("M d, Y H:i:s", filemtime($file)); echo 'galleryarray[' . $curimage .']=["' . $file . '", "'.$filedate.'"];' . "\n"; $curimage++; } } closedir($handle); } return($files); } echo "var galleryarray=new Array();" . "\n"; returnimages(); ?> Its 6am, ive been working for 14 hours now, and im starting to lag a little, can you see anything obvious? Cheers guys Link to comment https://forums.phpfreaks.com/topic/98759-array-is-empty/ Share on other sites More sharing options...
MadTechie Posted March 31, 2008 Share Posted March 31, 2008 yeah add var GalleryArray; to make it global.. PS this is not a PHP problem its javascript Link to comment https://forums.phpfreaks.com/topic/98759-array-is-empty/#findComment-505483 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.