Jump to content

:( array is empty :(


wmguk

Recommended Posts

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

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.