Wert eines Array ausgeben bzw. weiterverarbeiten funktioniert nicht!
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anzahl
ausgabe
beitrag
bewilligung
bild
bilddatei
count
datei
dein
dragon
extension
fehler
image
latein
lesen
letztes bild
logo krefelder
ordner
schreiten
wenigkeit
-
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
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 -
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.
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 -
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 -
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 -
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage