SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 05.07.2007, 12:37:11
carlos7262 carlos7262 ist offline
Anfänger
 
Registriert seit: Apr 2007
Beiträge: 12
Bilder aus Verzeichnis auslesen und wie in Zweierreihen ausgeben?

Hallo Zusammen,
ich tüfftle schon seit geraumer Zeit an einem Problem, bei dem ich einfach nicht weiter komme. Ich möchte aus einem Verzeichnis alle .jpg`s auslesen und auf einer Webseite ausgeben. Das klappt auch alles wunderbar. Nun möchte ich diese Ausgabe der Bilder aber so formatieren, dass die Bilder in Zweierreihen angezeigt werden, also z.B. eine Tabelle mit zwei Spalten und entsprechend der Bilderzahl Zeilen. Zum verdeutlichen hier mal das Script:

PHP-Code:
<?PHP

function listPicture($dir=".",$type="jpg")
{
    
$x 0;
    foreach (
glob($dir."*.".$type) as $filename)
    {
        
$picture[$x]['file'] = $filename;
        
$x++;
    } 
    
    return 
$picture;
}

$pic listPicture("img/","jpg");

for(
$x=0;$x<count($pic);$x++)
{
    
    
$file    =    $pic[$x]['file'];
    
    echo 
"<table width=\"75%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">
              <tr align=\"center\" valign=\"middle\">
                <td width=\"50%\"><img src=\"$file\"></td>
                <td width=\"50%\"></td>
              </tr>
        </table>"



}

?>
Wenn ich die Variable $file nun auch in die zweite Tabellenzelle packe, erscheinen logischerweise die Bilder immer doppelt nebeneinander und genau das ist mein Problem. Wie stelle ich es an, dass die Bilder in Zweierreihe angezeigt werden aber nicht doppelt?

Habe ein Brett vor dem Kopf und komme einfach nicht weiter. Wäre nett, wenn mir Jemand auf die Sprünge helfen würde.

Danke, Carlos
Mit Zitat antworten
  #2  
Alt 05.07.2007, 12:51:38
Benutzerbild von Rüdiger König
Rüdiger König Rüdiger König ist offline
Anfänger
 
Registriert seit: Jul 2007
Ort: Laggenbeck
Alter: 36
Beiträge: 31
AW: Bilder aus Verzeichnis auslesen und wie in Zweierreihen ausgeben?

Hallo carlos7262

bin noch neu hier

aber ich hab eine Idee
nämlich das du jedes zweite Bild mit einer anderen Variable($y) angibst, die dun dann in die zweite Spalte schreibst

vielleicht so
mfg Rüdiger
Mit Zitat antworten
  #3  
Alt 05.07.2007, 12:53:00
Heinrich Heinrich ist offline
Member
 
Registriert seit: Feb 2006
Beiträge: 883
AW: Bilder aus Verzeichnis auslesen und wie in Zweierreihen ausgeben?

Mal ein schneller Gedanke:
Du hast mit count($pic) ja die Anzahl der Bilder. Lass eine for-Schleife in der linken Spalte bis zur Hälfte hochzählen und eine zweite in der rechten Spalte die zweite Hälfte....ungetestet
Mit Zitat antworten
  #4  
Alt 05.07.2007, 13:08:44
Raketenmann Raketenmann ist offline
Junior Member
 
Registriert seit: Jun 2004
Beiträge: 473
AW: Bilder aus Verzeichnis auslesen und wie in Zweierreihen ausgeben?

Das wird schwierig, denn er muss die Tabelle zeilenweise schreiben und nicht spaltenweise...

Wie möchtest du die Ausgabe (z.B. von dat1, dat2, dat3, dat4, dat5) denn haben?

dat1 | dat2
dat3 | dat 4
dat5 |

oder

dat1 | dat4
dat2 | dat5
dat3 |
Mit Zitat antworten
  #5  
Alt 05.07.2007, 13:17:09
carlos7262 carlos7262 ist offline
Anfänger
 
Registriert seit: Apr 2007
Beiträge: 12
AW: Bilder aus Verzeichnis auslesen und wie in Zweierreihen ausgeben?

es sollte möglichst in der Form

dat1 | dat2
dat3 | dat 4
dat5 |

sein.
Mit Zitat antworten
  #6  
Alt 05.07.2007, 15:46:36
Raketenmann Raketenmann ist offline
Junior Member
 
Registriert seit: Jun 2004
Beiträge: 473
AW: Bilder aus Verzeichnis auslesen und wie in Zweierreihen ausgeben?

Tausch mal deine for-Schleife gegen dies hier....

Habe die table-Tags nach außen gesetzt, damit nicht für jede Zeile eine neue Tabelle erstellt wird.

PHP-Code:
echo '<table width="75%" border="0" align="center" cellpadding="0" cellspacing="0">';
for(
$x=0;$x<count($pic);$x+=2

    echo 
'
    <tr align="center" valign="middle"> 
    <td width="50%"><img src="'
.$pic[$x]['file'].'"></td>';
    if(
array_key_exists($x+1,$pic))
        {
            echo 
'<td width="50%"><img src="'.$pic[$x+1]['file'].'"></td>';
        }
    else
        {
            echo 
'<td width="50%"></td>';
        }
    echo 
'</tr>';

echo 
'</table>'

Geändert von Raketenmann (05.07.2007 um 15:47:44 Uhr)
Mit Zitat antworten
  #7  
Alt 05.07.2007, 16:38:28
Benutzerbild von Socrates
Socrates Socrates ist offline
Member
 
Registriert seit: Jul 2006
Ort: Göttingen/Deutschland
Alter: 35
Beiträge: 586
AW: Bilder aus Verzeichnis auslesen und wie in Zweierreihen ausgeben?

Morgen!
Also ich halte die Idee mit dem count() garnicht für so schlecht. Du zählst also mit dem count() die Einträge in deinem Array. Dann ermittelst du mit dem %-Operator, ob der Wert des momentan einzutragenden Arrayelements gerade oder ungerade ist. Jenachdem ob ungerade oder gerade, werden die zeilen erstellt.
PHP-Code:
<?php

function listPicture($dir=".",$type="jpg")
{
    
$x 0;
    foreach (
glob($dir."*.".$type) as $filename)
    {
        
$picture[$x]['file'] = $filename;
        
$x++;
    } 
    
    return 
$picture;
}

$pic listPicture("img/","jpg"); 

echo 
"<table>"
for($x=0;$x<=count($pic);$x++)
{
    
    
$file   =   $pic[$x]['file'];
    
    if(
$x 2;)                        //wenn gerade
       
{ echo "<tr><td>" $file "</td>"; }
    else                                
//wenn ungerade
        
{ echo "<td>" $file "</td></tr>";  }

}
if(
count($pic) % 2;)
   { echo 
"</tr>"; }
echo 
"</table>";
?>
Zudem meine ich, dass es wichtig ist, dass es wie folgt heißt, da das letzte Bild sonst nicht angezeigt wird.
PHP-Code:
<?php
$x
<=count($pic);
?>
MfG, Andy
__________________
BSc. Applied Computer Science
http://www.bornageek.com

Geändert von Socrates (05.07.2007 um 18:45:01 Uhr)
Mit Zitat antworten
  #8  
Alt 05.07.2007, 17:06:30
carlos7262 carlos7262 ist offline
Anfänger
 
Registriert seit: Apr 2007
Beiträge: 12
AW: Bilder aus Verzeichnis auslesen und wie in Zweierreihen ausgeben?

Kompliment und herzlichen Dank Raketenmann, es funktioniert prima. Habe lange über diesem Problem gesessen und ich denke, da wäre ich so wohl nicht drauf gekommen, dazu reichen meine php-Kenntnisse leider noch nicht. Bin schon eine Weile am php pauken, bleibe aber immer an irgendwelchen Problemen wie diesen hängen. Naja, will hoffen, dass es irgendwann mal zu einem eigenen vernünftig funktionierenden Script reicht.
Nochmals Danke auch an alle anderen, die sich dazu gemeldet haben.

Gruß, Carlos
Mit Zitat antworten
  #9  
Alt 05.07.2007, 20:41:23
carlos7262 carlos7262 ist offline
Anfänger
 
Registriert seit: Apr 2007
Beiträge: 12
AW: Bilder aus Verzeichnis auslesen und wie in Zweierreihen ausgeben?

Hallo Raketenmann,

habe mir deine Scriptlösung die ganze Zeit angesehen und versucht es zu verstehen wie es funktioniert, komme aber leider nicht dahinter. Könntest Du es kurz beschreiben?

Gruß, Carlo
Mit Zitat antworten
  #10  
Alt 06.07.2007, 01:16:01
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Bilder aus Verzeichnis auslesen und wie in Zweierreihen ausgeben?

Wow! Und gleich ne Doppel-Schleife, wo eine vollkommen ausreicht...

PHP-Code:
function listPicture($dir=".",$type="jpg")
{
   return 
glob($dir."*.".$type); 


$pic listPicture("img/","jpg");

echo 
'<table width="75%" border="0" align="center" cellpadding="0" cellspacing="0">';

for(
$x=0;$x<count($pic);$x+=2

    echo 
'
    <tr align="center" valign="middle"> 
    <td width="50%"><img src="'
.$pic[$x].'"></td>';
    if(
array_key_exists($x+1,$pic))
        {
            echo 
'<td width="50%"><img src="'.$pic[$x+1].'"></td>';
        }
    else
        {
            echo 
'<td width="50%"> </td>';
        }
    echo 
'</tr>';

echo 
'</table>'

Geändert von meikel (†) (06.07.2007 um 01:28:13 Uhr)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Alle Bilder eines Ordners und dessen Unterordner ausgeben Desperado_11 PHP Grundlagen 4 08.01.2007 21:36:43
Bilder aus Verzeichnis auslesen koerschgen2001 PHP Grundlagen 9 30.03.2006 19:41:25
Bilder aus einem Verzeichnis holen hoschy PHP Grundlagen 3 20.12.2004 17:38:54
verzeichnis auslesen und dateien nach erstellungsdatum sortieren muxe PHP für Fortgeschrittene und Experten 22 09.09.2004 11:21:16
Bestimmte Dateien aus Verzeichnis lesen und ausgeben Arclite PHP Grundlagen 3 26.05.2004 19:03:58


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


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt