kostenloser Webspace werbefrei: lima-city


Wert eines Array ausgeben bzw. weiterverarbeiten funktioniert nicht!

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    m***r

    Hallo ich programiere gerade ein Script und weiss echt nicht weiter. Ich weiss einfach nicht den Grund warum ich den Array mit "print_r" auslesen kann aber allerdings mit z.B. $Array[0] eineneinzelnen Wert aus geben nicht ausgeben bzw. weiterverarbeiten kann. Ich verstehe das einfach nicht, darum hab ich mal den betrefenden Code "rausgebettet" und Testfreundlich ausgeben lassen.

    if (!function_exists (scandir)) //falls die Funktion scandir noch nicht verhanden ist wird sie erstellt
      { 
        function scandir($dir) 
        { 
          $dh  = @opendir($dir); 
          while (false !== ($filename = @readdir($dh))) 
          { 
            $files[] = $filename; 
          } 
          return $files; 
        } 
      } 
    
    $location2 = $location; //erstellen der location2
    if($location2 == '') $location2 = './';  //falls location bzw. location2 '' ist wird der Ordner angezeigt wodrin sich diese Datei befindet
    $Scandir= scandir($location2); //der Ordner wird ausgelesen
    $CountDatas = count($Scandir); //die Dateien im Ordner werden gez?hlt
    asort($Scandir); //die $Scandir wird sortiert
    
    for($ii=2;$ii<=$CountDatas-1;$ii++)
    	{
    		$nametype_inc_for = explode('.', $Scandir[$ii]); //Schritt 1 des Bestimmen des Dateityps
    		$counttype_inc_for = count($nametype_inc_for); //Schritt 2
    		$filetype_inc_for = $nametype_inc_for[$counttype_inc_for-1]; //Schritt 3
    				
    		if($filetype_inc_for == 'gif' or $filetype_inc_for == 'jpg' or $filetype_inc_for == 'jpeg' or $filetype_inc_for == 'png' or $filetype_inc_for == 'bmp')
    			{
    				$images_inc[] = $Scandir[$ii]; //Diese datei ist eine Bilddatei und wird zum Array $images_inc hinzugef?gt
    			}
    	}
    
    $count_images_inc = count($images_inc);	//Anzahl der Werte im Arry $images_inc werden gez?hlt
    
    for($i2=0; $i2 >= $count_images_inc; $i2++)
    	{
    		if($include == $location2.$images_inc[$i2])
    			{
    				$next_image = $location2.$images_inc[$i2+1]; //n?chstes Bild wird festgelegt
    				$last_image = $location2.$images_inc[$i2-1]; //letztes Bild wird festgelegt
    			}
    	}
    
    
    //Ausgabe der Dateien zu ?berpr?fung des Scripts (leider funktioniert nicht alles :()
    echo '<b>Location:<br></b>'.$location2.'<br><br><b>Dateien im Ordner (Mit "print_r" ausgegeben):<br></b>';
    print_r($Scandir);
    echo '<br><br><b>Bildateien im Ordner (Mit "print_r" ausgegeben):<br></b>';
    print_r($images_inc);
    echo '<hr><b>Anzahl der Imagedateien im Ordner: </b>'.$count_images_inc.'<br><br><b>Wert von $image_inc[0]:</b><br>'.$image_inc[0];	
    echo '<br><br><b>last image:</b> '.$last_image.'<br><b>next image:</b> '.$next_image;


    Link zur Datei: http://mipkr.milten.lima-city.de/my/test.php?location=&include=Logo-Krefelder-Dragons.jpg

    So wie man hier sieht wird der voll st?ndige Arry mit print_r angezeigt aber nicht mit $image_inc[0] ausgegeben. Ich kann den Wert $image_inc[0] auch nicht weiterverabeiten. Ich hab echt kein Plan warum. Eigentlich sollte das funktionieren...

    Bitte helft mir!

    mfg mipkr

    Beitrag ge?ndert am 1.04.2006 18:17 von mipkr
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hi,

    ich hab das ganze script ein bischen ver?ndert, sodass es ?bersichtlicher ist. Es hat dann funktioniert, hab aber trotzdem den Fehler auchnoch gefunden:
    Es sollte nicht $image_inc[0] heissen, sondern $images_inc[0] (das 's' fehlt), um den Wert anzuzeigen.

    Hier hab ich noch das ver?nderte Script, genau gleich wie deins, jedoch nur auf 41 Zeilen:
    <?
    if (!function_exists("scandir")) { 
      function scandir($dir) {
        $files = array();
        $dh = @opendir($dir);
        while (($filename = @readdir($dh)) !== false) {
         $files[] = $dir . $filename;
        } 
        return $files; 
      } 
    } 
    
    $include = (isset($_REQUEST['include']))?$_REQUEST['include']:"";
    $images_inc = array();
    $dir = "./";
    $scandir = scandir($dir);
    asort($scandir);
    
    foreach ($scandir as $file) {
      $extension = end(explode(".",$file));
      if(in_array($extension,array("gif","jpg","jpeg","png","bmp"))) {
       $images_inc[] = $file;
      }
    }
    
    $next_images = "gibt es nicht";
    $last_images = "gibt es nicht";
    for ($i = 0; $i < count($images_inc); $i++) {
      if ($include == $images_inc[$i]) {
       $next_image = $images_inc[$i + 1];
       $last_image = $images_inc[$i - 1];
      }
    }
    
    echo "<b>Location:</b> '.$dir.'<br />\n<pre>\n";
    print_r($scandir);
    echo "</pre>\n<br />\n\<b>\$images_inc:</b>\n<pre>\n";
    print_r($images_inc);
    echo "<pre>\n<br />\n<b>Anzahl der Imagedateien im Ordner: </b> " . count($images_inc) . "<br />\n<b>Wert von \$image_inc[0]:</b> " . $images_inc[0] . "<br />\n";    
    echo "<b>last image:</b> $last_image<br />\n<b>next image:</b> $next_image";
    ?>


    Ich hoffe, ich hab weitergeholfen ;).

    mfg,
    hr

    Beitrag ge?ndert am 1.04.2006 19:29 von heavyraptor
  4. Autor dieses Themas

    m***r

    Erstmal danke das du meinen Fehler gefunde hast ich hab doch tats?chlich das "s" vergessen :/. Sowas passiert auch nur mir...

    Dein Script find ich auch gut. Funktioniert genauso wie das von meiner Wenigkeit. Allerdings hab ich es jetzt mal upgeloadet und ausprobiert. Sowohl bei meinem koregierten und bei deinem funktioniert das nicht mit last und next image. Ich werde mal schauen ob ich das hinbekomme ?ber Hilfe freue ich mich trotzdem also wenn du lust hast oder dir was spontan einf?llt schreibs mal. :biggrin:

    Hast du eigentlich was dagegen wenn ich jetzt deinen Code in mein richtiges Script einbette?

    mfg mipkr

    EDIT: Ach ja noch den link zu deinem Script...
    http://mipkr.milten.lima-city.de/my/test2.php?location=&include=Logo-Krefelder-Dragons.jpg

    Beitrag ge?ndert am 1.04.2006 19:45 von mipkr
  5. Hi,

    bist du sicher, dass du ?ber den query-string die include-Variabel angegeben hast? Wenn die n?mlich fehlt, dann geht es nicht.

    Mein Script kannst du benutzten wenn du willst, dazu brauchst du keine Bewilligung von mir :).

    mfg,
    hr
  6. Autor dieses Themas

    m***r

    Sorry aber so gut ist mein PHP-Latein noch nicht. Was ist denn ein Querry-String? Ist das nicht die url die oben im Browser angezeigt wird? Wenn ja, hab ich das auch wie man an dem Link sieht welchen ich zu deinem Script gepostet hab... :)

    mfg mipkr
  7. Autor dieses Themas

    m***r

    So sorry wegen Doppelpost aber ich wollte nur sagen das ichs jetzt hinbekommen hab.

    Danke an alle die sich beteiligt haben. Naja war ja eigentlich nur heavyraptor. ^^ Also danke nochmal heavyraptor. :)

    mfg mipkr
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!