Re: Re: [Linux dev] Undefined variables

From: Date: Fri, 08 Sep 2006 16:30:13 +0000
Subject: Re: Re: [Linux dev] Undefined variables
References: 1 2  Groups: php.windows 
Request: Send a blank email to php-windows+get-27136@lists.php.net to get a copy of this message
Hendrik Visage wrote: <snip useful explanation of what's wrong with no tips on how to do it right> The rewrite below does not iterate around the array as you were in your for loop, so I'll mention a better way to do that here rather than in the snippet below... foreach - look it up in the PHP manual! One way to rewrite it would be like this (with comments hopefully explaining what I've changed and why)... <?php session_start(); $folder = opendir('.'); // No need for a temporary array, check each file as you read it from the directory $names = array(); while ($file = readdir($folder)) {
       if (in_array(strtolower(substr($file, -4)), array('.jpg', '.gif', 'jpeg', '.png')))
       {
           // You can append an element to an array like this... no need for an index
           $names[] = $file;
       }
} sort($names); // Not sure why you're checking a session var here since you've just gone to the trouble of iterating // over the files - it's not saving much processing // Best practice to always check if a session var exists before using it // Avoids unsightly notices $Count = (isset($_SESSION['Picture']) ? $_SESSION['Picture'] : 0); // Really not sure why this is here --$Count;
   //        echo 'Count = '.$Count.'  $tempvar = '.$tempvar;
if ($Count == 0) {
       $Count = count($names1)-1;
} $_SESSION['Picture'] = $Count; $slika = $names[$Count]; // image dimensions $dimensions = GetImageSize($slika); if (isset($HTTP_GET_VARS["pic"])) {
       // Strictly speaking the URL given in a location header should be absolute
       header ("Location: $slika");
} else {
       echo "<img src=\"$slika\" $dimensions[3] />";
}

« previous php.windows (#27136) next »