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 ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 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
Hilfe Community Kalender Heutige Beiträge Suchen

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

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 16.01.2006, 16:02:34
_mil28 _mil28 ist offline
Anfänger
 
Registriert seit: Jan 2006
Beiträge: 24
Datei-Verzeichnis auslesen

hiho,

gibt es eine Funktion, die es mir erlaubt, den Inhalt eines Datei-Verzeichnisses ganz einfach in Textform auszulesen, bestenfalls Dateiname, Grösse, Erstellungsdatum?

So in etwa:

bild.gif 450Kb 15.01.2005

Besten Dank, mil
Mit Zitat antworten
  #2  
Alt 16.01.2006, 16:18:53
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Datei-Verzeichnis auslesen

glob()
dir()
readdir()
Mit Zitat antworten
  #3  
Alt 16.01.2006, 18:58:47
_mil28 _mil28 ist offline
Anfänger
 
Registriert seit: Jan 2006
Beiträge: 24
AW: Datei-Verzeichnis auslesen / Do-While Schleife ergänzen

Ok, danke habs hingekriegt mit glob(), jetzt sieht es so aus:

function PicturePreview($dir){
if(!$dir){$dir = '.';}
foreach(glob("$dir/*") as $item){$sort[]= end(explode('/',$item));}

$killit = array('*.html', '*.php', '*.db', '*.css');
$killcounter = 0;
foreach($sort as $sorteditem){
foreach($killit as $killcheck){
if(strtolower($sorteditem) == strtolower($killcheck))
{unset($sort[$killcounter]);}
}$killcounter++;}
if($sort){natsort($sort);}
foreach($sort as $item){$return[]= $item;}

if(!$return){return array();}
return $return;
}

//Preview pictures (*.gif, *.jpg)
echo '<table width="600" border="0" cellspacing="0" cellpadding="0"><tr>',"\n";

$folder = '../images/content/screenshots/UltimateSpiderman/';
foreach(PicturePreview($folder) as $item){
echo '<td><img src="'.$folder.'/'.$item.'"><br>'.$item.'</td>',"\n";}

echo '</tr></table>';

Es wird eine Tabelle ausgegeben (3 Spalten), die die entsprechenden Bild-Dateien anzeigt.

Jetzt würde ich das gerne um eine do/while Schleife ergänzen, so dass so viele Tabellenzeilen (je mit 3 Spalten) ausgegeben werden, wie sich Dateien im Ordner befinden. Bestenfalls sieht die Ausgabe am Ende so aus:

<table>
<tr>
<td><img src="../images/bild_1.gif"></td>
<td><img src="../images/bild_2.gif"></td>
<td><img src="../images/bild_3.gif"></td>
</tr>
<tr>
<td><img src="../images/bild_4.gif"></td>
<td><img src="../images/bild_5.gif"></td>
<td><img src="../images/bild_6.gif"></td>
</tr>
<tr>
<td><img src="../images/bild_7.gif"></td>
<td></td>
<td></td>
</tr>
</table>

Habt ihr da noch einmal eine Idee ?

Besten Gruss, Marc
Mit Zitat antworten
  #4  
Alt 16.01.2006, 20:31:22
_mil28 _mil28 ist offline
Anfänger
 
Registriert seit: Jan 2006
Beiträge: 24
AW: Datei-Verzeichnis auslesen

okay, soweit hab ichs jetzt, einziges Problem - er zeigt mir jedes Bild 3x an:

111
222
333

So sieht mein Code jetzt aus:

//Show files (*.gif, *.jpg)

echo '<table width="600" border="0" cellspacing="0" cellpadding="0">',"\n";

$folder = '../images/content/screenshots/UltimateSpiderman/';
foreach(PicturePreview($folder) as $item) {

$z=0;
for($i=0;$i<3;$i++) {
echo ($z%3==0) ? "<tr>\n" : "";
echo '<td><img src="'.$folder.'/'.$item.'"></td>',"\n";
$z++;
echo ($z%3==0) ? "</tr>\n" : "";
}

echo ($z%3!=0) ? "</tr>\n" : "";
}

echo '</table>';

Vielleicht hat ja noch einer einen Tip für mich, thx, mil
Mit Zitat antworten
  #5  
Alt 16.01.2006, 21:19:21
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Datei-Verzeichnis auslesen

Deine Funktion PicturePreview() liefert ja anscheinend ein Array mit den Dateinamen der Bilder aus einem Verzeichnis. Zunächst durchläufst du dieses Array mit der foreach-Schleife. Wenn du aber bei jedem Durchlauf auch noch eine for-Schleife drei Mal durchlaufen lässt, ändert sich zwar nicht der Dateiname bei diesen Durchläufen, die Datei wird aber trotzdem angezeigt. Statt die for-Schleife zu verwenden, kannst du besser vor der foreach-Schleife die Variable $i mit dem Wert 0 initialisieren und dann bei jedem Durchlauf der foreach-Schleife inkrementieren.
Mit Zitat antworten
  #6  
Alt 18.01.2006, 17:46:17
_mil28 _mil28 ist offline
Anfänger
 
Registriert seit: Jan 2006
Beiträge: 24
AW: Datei-Verzeichnis auslesen

Geschafft! Herzlichen Dank für Eure Hilfe.

Da das ja ein beliebtes Problem zu sein scheint, hier noch einmal das vollständige Script, so wie es bei mir jetzt funktioniert:

Dateiverzeichnis auslesen:

PHP-Code:
<?php

function PicturePreview($dir){
if(!
$dir){$dir '.';}
foreach(
glob("$dir/*") as $item){$sort[]= end(explode('/',$item));}

$killit = array('*.html''*.php''*.db''*.css');
$killcounter 0;
foreach(
$sort as $sorteditem){
foreach(
$killit as $killcheck){
if(
strtolower($sorteditem) == strtolower($killcheck))
{unset(
$sort[$killcounter]);}
}
$killcounter++;}
if(
$sort){natsort($sort);}
foreach(
$sort as $item){$return[]= $item;}

if(!
$return){return array();}
return 
$return;
}

?>
Tabelle ausgeben (3 Bilder pro Spalte):

PHP-Code:
<?php
// Populate 3 pictures in a row than jump to new row
echo '<table width="581" border="0" cellspacing="0" cellpadding="0">',"\n";

$folder '../images/content/screenshots/KingKong-TheMovie/';

$z=0;
foreach(
PicturePreview($folder) as $item) {

    
    
//echo $z%3;
    
if ($z%3==0) echo '<tr>';
    if (
$z%3!=3) echo '<td><img src="'.$folder.'/'.$item.'"></td>';
    if (
$z%3==2) echo '</tr>';
    if (
$z%3==3) echo '<br />',"\n";
    
$z++;
}

echo 
'</table>';
?>
Die Ausgabe entspricht:

123
456
7

Thx, mil
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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
Habe da ein Problem mit dem auslesen einer txt Datei flyscorpion PHP Grundlagen 2 06.01.2006 14:36:46
Datei auslesen! juergen PHP Grundlagen 14 28.11.2004 10:59:35
verzeichnis auslesen und dateien nach erstellungsdatum sortieren muxe PHP für Fortgeschrittene und Experten 22 09.09.2004 10:21:16
Dateien mit Prefix aus Verzeichnis auslesen Dr.Evil PHP für Fortgeschrittene und Experten 2 18.06.2004 18:27:03
Anfänger: Datei auslesen und Statistik erstellen EyeDacor PHP Grundlagen 4 18.08.2003 01:37:09


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:37:01 Uhr.


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


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