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

Das Zend Framework

Das Zend Framework 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 20.01.2006, 06:47:33
_mil28 _mil28 ist offline
Anfänger
 
Registriert seit: Jan 2006
Beiträge: 24
Bitte kein leeres Verzeichnis anzeigen! - Foreach-Problem!

moin moin,

folgendes Problem - die erste Funktion liest das Verzeichnis aus:

PHP-Code:
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;

Das funktioniert wunderbar!

Das zweite Script stellt die (in diesem Fall Bild-Dateien) dar, die drin sind:

PHP-Code:
echo '<table width="581" border="0" cellspacing="0" cellpadding="0">',"\n";
$folder "../images/content/screenshots/S60/" $_COOKIE['ckFolder'] . "/";
                    
$z=0;
foreach(
PicturePreview($folder) as $item) {
                    
if (
$z%3==0) echo '<tr>';
if (
$z%3!=3) echo '<td width="193" align="center"><img src="'.$folder.'/'.$item.'"><br /><span class="Black10px">'.$item.'</span></td>';
if (
$z%3==2) echo '</tr><tr><td><img src="../images/blank_transparent.gif" width="1" height="10" /></td></tr>';
if (
$z%3==3) echo '<br />',"\n";
$z++;
}
                    
echo 
'</table>'
Das funktioniert auch wunderbar!

Nur wenn das Verzeichnis leer ist, dann gibt es die Fehlermeldung 'invalid argument supplied for foreach()'. Ich könnte das natürlich so umgehen, dass ich in diesem Verzeichnis ein unsichtbares 1px GIF plaziere und keiner würds merken - aber richtig sexy ist das nicht.

Deshalb würde ich diesen Fall (Verzeichnis leer) also lieber mit der IF Schleife umgehen, sprich IF Verzeichnis leer, vergiss foreach() - weiss aber nicht wo die hingehört und wie die genau aussehen könnte.

Vielleicht habt ihr ja eine Idee, besten Dank, mil
Mit Zitat antworten
  #2  
Alt 20.01.2006, 07:36:14
Reinfi Reinfi ist offline
Anfänger
 
Registriert seit: Jan 2006
Ort: Rinkerode
Alter: 38
Beiträge: 81
Reinfi eine Nachricht über ICQ schicken
AW: Bitte kein leeres Verzeichnis anzeigen! - Foreach-Problem!

http://www.selfphp.de/funktionsrefer...otal_space.php oder http://www.selfphp.de/funktionsrefer...en/scandir.php könnten eventuell weiterhelfen

Bessere Ideen gerne willkommen
Mit Zitat antworten
  #3  
Alt 20.01.2006, 10:00:21
_mil28 _mil28 ist offline
Anfänger
 
Registriert seit: Jan 2006
Beiträge: 24
AW: Bitte kein leeres Verzeichnis anzeigen! - Foreach-Problem!

Leider bringt mich das irgendwie nicht weiter...
Mit Zitat antworten
  #4  
Alt 20.01.2006, 10:16:32
R. Woitaschik R. Woitaschik ist offline
Anfänger
 
Registriert seit: Nov 2004
Ort: Düsseldorf
Beiträge: 99
AW: Bitte kein leeres Verzeichnis anzeigen! - Foreach-Problem!

Hi _mil28,
initialisiere doch am Anfang die beiden Variablen $sort + $return.

z.B.
PHP-Code:
$sort = array();
$return = array() 
Dannach ist dein Problem wohl erledigt.

Gruß
Richard
Mit Zitat antworten
  #5  
Alt 20.01.2006, 12:22:16
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Bitte kein leeres Verzeichnis anzeigen! - Foreach-Problem!

es gibt keine if-schleifen!
Mit Zitat antworten
  #6  
Alt 20.01.2006, 20:37:54
_mil28 _mil28 ist offline
Anfänger
 
Registriert seit: Jan 2006
Beiträge: 24
AW: Bitte kein leeres Verzeichnis anzeigen! - Foreach-Problem!

Danke hört sich logisch an, funzt aber leider immer noch nicht, wo genau soll

PHP-Code:
$sort = array();
$return = array(); 
den hin? Hab es jetzt direkt unter den Funktionsaufruf gepackt:

PHP-Code:

function PicturePreview($dir){

$sort = array();
$return = array();

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

... 
Wer dir dankbar, wenn du mir das noch kurz erklären könntest, thx, mil
Mit Zitat antworten
  #7  
Alt 23.01.2006, 11:38:29
R. Woitaschik R. Woitaschik ist offline
Anfänger
 
Registriert seit: Nov 2004
Ort: Düsseldorf
Beiträge: 99
AW: Bitte kein leeres Verzeichnis anzeigen! - Foreach-Problem!

Hi _mil28,
ich hab mal deine beiden Listings von oben in ein Skript gepackt und getestet. Bei mir funktioniert es. Die Initialisierung der Arrays hast Du an der richtigen Stelle platziert.
In der Fehlermeldung "invalid argument supplied for foreach() ..." steht normalerweise auch die Zeilennummer, in der der Fehler auftritt. Ist es vieleicht eine andere Stelle?
Gruß
Richard
Mit Zitat antworten
  #8  
Alt 23.01.2006, 12:22:28
_mil28 _mil28 ist offline
Anfänger
 
Registriert seit: Jan 2006
Beiträge: 24
AW: Bitte kein leeres Verzeichnis anzeigen! - Foreach-Problem!

det läuft... danke nochmal, habs alles nochmal geschrieben und auf einmal gings... hat sich anscheinend irgendwas reingemogelt...

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
Problem mit Lokalisierung eines SESSION - Problems Fabian85 PHP für Fortgeschrittene und Experten 5 03.10.2005 20:17:54
Neues Verzeichnis anlegen und kopieren... Olli2 PHP für Fortgeschrittene und Experten 7 03.10.2004 21:35:39
Problem mit foreach Cyrus1982 PHP für Fortgeschrittene und Experten 5 12.08.2004 14:44:23
Problem mit Gästebuch Coren PHP für Fortgeschrittene und Experten 3 19.10.2002 09:58:38


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:30:41 Uhr.


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


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