php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.04.2005, 17:22  
Erfahrener Benutzer
 
Registriert seit: 25.08.2004
Beiträge: 128
picco
Standard Bildergalerie will nicht

Ich habe hier folgenden Code für eine bildergalerie geschrieben. Allerdings funktioniert es noch nicht so ganz. Folgendes funktioniert nicht richtig:

Die Bilder werden nicht in der Reihenfolge 1, 2, 3, ... 10, 11, 12 sondern in der Reihenfolge 1, 10, 11, 12 ausgegeben, obwohl ein natsort() vorhanden ist.

Bei der Ausgabe wird noch der Unterordner thumbs mit ausgegeben, obwohl ich angegeben habe, dass nur jpgs ausgelesen werden sollen.

Ich habe schon nach Lösungsmöglichkeiten gesucht aber gefunden habe ich nicht wirklich etwas.

Hier der Quelltext:

Code:
<?php
// ordner festlegen

$pfad = 'ordner/';
$tpfad = 'ordner/thumbs/';

// bilder array

$bilder=array();
$handle=opendir($pfad);

while($file=readdir($handle))
{	if(preg_match("/.(jpg)$/i", $file)){	
        
                array_push($bilder, $file); }
}

// thumbs array

$thumbs=array();
$handle=opendir($tpfad);

while($file=readdir($handle))
{
        if(preg_match("/.(jpg)$/i", $file)){	
                array_push($thumbs, $file); }
}
natsort($thumbs);
natsort($bilder);
closedir($handle);


//Ausgabe Bilder und Thumbs

for($i=0; $i<(count($bilder)+1); $i++)
{ for($i=0; $i<(count($thumbs)+1); $i++) {
                echo '[img]'.$tpfad.$thumbs[$i].'[/img]';
        }}
?>
mfg
picco
picco ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 22.04.2005, 17:26  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

ersezte vieleicht mal deine for-schleife durch eine foreach.schleife, weil die indizes werden soweit ich weis nicht beibehalten und die sprichst sie wieder der reihenfolge nach an in der zählschleife.

www.php.net/natsort
Zitat:
Anmerkung: Wenn Sie die Index/Wert Assoziationen beibehalten wollen, denken Sie an die Verwendung von uasort($arr, 'strnatcmp').
robo47 ist offline  
Alt 22.04.2005, 17:28  
Gast
 
Beiträge: n/a
Standard

Zwei geschachtelte for-Schleifen mit der gleichen Laufvariablen ist nicht besonders geschickt.

Ich fragemich sowieso, warum du beide Verzeichnisse ausliest. Wenn die Bilder identische Namen (Thumb und Bild) haben, dann reicht es duch vollkommen aus, nur ein Verzeichnis auszulesen.

Gruß
phpfan
 
Alt 22.04.2005, 18:10  
Erfahrener Benutzer
 
Registriert seit: 25.08.2004
Beiträge: 128
picco
Standard

@robo47 Ich soll aus der Zählschleife eine foreach Schleife machen? Verstehe ich nicht ganz.

@phpfan Wie kann ich es denn besser machen?
mfg
picco
picco ist offline  
Alt 22.04.2005, 18:14  
Gast
 
Beiträge: n/a
Standard

Zitat:
$pfad = 'ordner/';
$tpfad = 'ordner/thumbs/';
Hmmm, wenn die Dateinamen in den beiden Ordnern gleich sind, brauchste auch nicht 2 Schleifen.
Das könnte man mir einer machen, jedendfalls bei dir im Script.
 
Alt 22.04.2005, 19:29  
Erfahrener Benutzer
 
Registriert seit: 25.08.2004
Beiträge: 128
picco
Standard

Ok ich habe nun eine Schleife entfernt. Die Sortierung klappt immer noch nicht ganz und es wird immer noch der Ordner thumbs beim Array mit ausgegeben.

PHP-Code:
<?php
// ordner festlegen
$pfad "ordner/";
$tpfad "$pfad"."thumbs/";

// bilder array
$bilder=array();
$handle=opendir($pfad);

while(
$file=readdir($handle))    {
    if(
preg_match("/.(jpg)$/i"$file)){ 
        
array_push($bilder$file);
    }
}
natsort($bilder);
closedir($handle);


//Ausgabe Bilder und Thumbs

for($i=0$i<(count($bilder)+1); $i++)
{
    echo 
'[url="'.$pfad.$bilder[$i].'"][img]'.$tpfad.$bilder[$i].'[/img][/url]';
    }
?>
Ich habe es eben mit $bilder = natsort($bilder); probiert aber auch das klappte nicht.
mfg
picco
picco ist offline  
Alt 23.04.2005, 19:37  
Erfahrener Benutzer
 
Registriert seit: 25.08.2004
Beiträge: 128
picco
Standard

Hat jemand noch eine Idee?
mfg
picco
picco ist offline  
Alt 23.04.2005, 19:57  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?php
// ordner festlegen 
$pfad "ordner/"
$tpfad $pfad."thumbs/"

// bilder array 
$bilder = array(); 

// mit Absicht Thumb-Ordner durchsuchen
$handle=opendir($tpfad); 
while(
$file=readdir($handle))   { 
   if(
preg_match("/.(jpg)$/i"$file)){ 
      
$bilder[] = $file
    } 
}
closedir($handle); 


natsort($bilder); 

//Ausgabe Bilder und Thumbs 

foreach ($bilder as $pic) {
    echo 
'[url="'.$pfad.$pic.'"][img]'.$tpfad.$pic.'[/img][/url]'
}

?>
So jetzte ....
 
Alt 24.04.2005, 19:42  
Erfahrener Benutzer
 
Registriert seit: 25.08.2004
Beiträge: 128
picco
Standard

@CIX88 So funktioniert es. Danke dafür.

Ich habe jetzt in den foreach Teil noch etwas hinzugefügt, damit ich mehr Infos zu den Bildern bekomme.

PHP-Code:
<?php
$info 
getimagesize($pfad.$pic);
    
$size number_format(round(filesize($pfad.$pic)),0);
    
$breite $info[0];
    
$laenge $info[1];
?>
Damit diese Infos auch ausgegeben werden, habe ich den echo Teil dementsprechend geändert.

PHP-Code:
<?php
echo '[url="'.$pfad.$pic.'"][img]'.$tpfad.$pic.'[/img][/url]
'
.$breite.'x'.$laenge.'
Größe: '
.$size.' kb
'
;
?>
Allerdings werden die Thumbnails jetzt alle untereinander ausgegeben. Wie sorge ich nun dafür, dass die Thumbnails wieder nebeneinander dargestellt werden und die Infos darunter?
mfg
picco
picco ist offline  
Alt 24.04.2005, 19:55  
Gast
 
Beiträge: n/a
Standard

Zitat:
Allerdings werden die Thumbnails jetzt alle untereinander ausgegeben. Wie sorge ich nun dafür, dass die Thumbnails wieder nebeneinander dargestellt werden und die Infos darunter?
ähmm, das BR rausnehmen
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Bildergalerie selbst gemacht?? Minimi PHP Tipps 2008 7 10.09.2007 23:01
Problem mit Bildergalerie hmichi PHP Tipps 2006 3 15.08.2006 17:06
bildergalerie immer ein bild zu früh :-( swordfish! PHP Tipps 2006 4 14.03.2006 12:53
Bildergalerie wie bei Ebay?? marcelglaeser HTML, Usability und Barrierefreiheit 12 13.10.2005 17:58
Bildergalerie mit Bewertung maccoder PHP Tipps 2005-2 8 22.09.2005 21:38
Bildergalerie ohne Safe_mode Beitragsarchiv 1 15.05.2005 10:11
suche Bildergalerie Beitragsarchiv 11 01.05.2005 14:34
Einfache Bildergalerie PHP Tipps 2005 9 15.04.2005 08:51
bildergalerie PHP Tipps 2005 3 08.03.2005 13:23
kleines Problem mit Bildergalerie alisa PHP Tipps 2005 3 09.02.2005 12:59
bildergalerie Trumpfass PHP Tipps 2005 11 04.02.2005 21:50
Problem mit Bildergalerie picco PHP Tipps 2004-2 2 26.12.2004 13:04
Bildergalerie Mano PHP Tipps 2004-2 5 14.11.2004 19:23
Bildergalerie: Generelles vorgehen PHP Tipps 2004 9 02.09.2004 08:50

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php codeschnipsel bildergalerie, reihenfolge der ordner in php festlegen, bilder verzeichnis durchsuchen array erstellen thumbs, php ordner reihenfolge, bildergalerie ebay \ordner auslesen\, fotogalerie will.de, php for zählschleife 1-10, php ordner auslesen reihenfolge bestimmen, php sortierung bildergalerie, php fotogalerie reihenfolge nicht richtig angezeigt, php geschachtelte zählschleife php, php bilder aus ordner natsort, php for schleife advent, bilder reihenfolge festlegen php, bild ordner auslesen nur jpg

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:42 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.