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 03.04.2004, 15:38:50
Benutzerbild von thorben
thorben thorben ist offline
Junior Member
 
Registriert seit: Mar 2003
Ort: Krefeld
Beiträge: 245
thorben eine Nachricht über Yahoo! schicken
Anzahl der Zeilen begrenzen

Hi,

Problemstellung:
Ich möchte aus einer Datei eine bestimmte Anzahl an Zeilen auslesen:

Mit dem folgenden Code klappt das auch ganz gut:

PHP-Code:
$inhalt file("xxx/news.csv","r");  
$anzahl 2
      for(
$i 0$i $anzahl$i++) 
      { 
      
$eintrag explode("|",$inhalt[$i]);   # inhalt zerteilen 
          
$nr $eintrag[0];  //Variablen definieren
      
$head $eintrag[1];
      
$short $eintrag[2];
      
$autor $eintrag[3];  
      
$gesamt $eintrag[4];
      
$text $eintrag[5];
      
$link $eintrag[5];
      
      echo 
"$head$short<br>$autor | $gesamt<hr size='1'>";
      } 
Wenn allerdings keine Daten in der Datei sind, werden zwei Trennzeichen untereinander dargestellt - ja das ist logisch; wie kann ich das verhindern?

Danke. thorben.
Mit Zitat antworten
  #2  
Alt 03.04.2004, 16:25:40
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
Re: Anzahl der Zeilen begrenzen

Zitat:
Original geschrieben von thorben
Problemstellung:[/B]
Ich möchte aus einer Datei eine bestimmte Anzahl an Zeilen auslesen:
[ ...]
Wenn allerdings keine Daten in der Datei sind, werden zwei Trennzeichen untereinander dargestellt - ja das ist logisch; wie kann ich das verhindern?
Was Du betreibst, bezeichnet man als "Schönwetterprogrammierung".
Dein Script funktioniert nur dann zufriedenstellend, wenn alle "wohlwollend vermuteten" Annahmen auch eintreffen, denn
- Dein Script prüft nicht, ob es das File lesen darf,
- es prüft nicht, ob die Datei leer ist und
- es reagiert nicht auf leere Zeilen.
Mit Zitat antworten
  #3  
Alt 03.04.2004, 17:03:19
MasterOfPuppets MasterOfPuppets ist offline
Anfänger
 
Registriert seit: Jun 2003
Beiträge: 65
Du kannst zuerst mit file_exists(Datei) prüfen, ob die Datei wirklich existiert.

Mit empty($inhalt) kannst du gucken, ob etwas in deiner Datei steht.

Das verbindest du noch if-Schleifen und es müsste besser funktionieren.
Mit Zitat antworten
  #4  
Alt 03.04.2004, 18:14:41
Benutzerbild von thorben
thorben thorben ist offline
Junior Member
 
Registriert seit: Mar 2003
Ort: Krefeld
Beiträge: 245
thorben eine Nachricht über Yahoo! schicken
"Schönwetter-Programmierung" - ist ein gutes Wort, ich bin positiv eingestellt. Ich sollte diese Abfragen korrekterweise machen.

Danke für den Tip, aber eigentlich hätte ich meine Frage anders formulieren sollen:

Was muss ich tun, wenn nur eine Zeile vorhanden ist - das Resultat hierbei wäre, das ein Trennzeichen angezeigt wird. Funktioniert die Lösung dann immer noch?
Mit Zitat antworten
  #5  
Alt 03.04.2004, 20:55:04
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
Zitat:
Original geschrieben von thorben
Was muss ich tun, wenn nur eine Zeile vorhanden ist - das Resultat hierbei wäre, das ein Trennzeichen angezeigt wird.
Nur mal das Prinzip:
PHP-Code:
$fname './filename.ext';
if (! 
is_readable($fname)) die ('Darf File nicht lesen');
$a file($fname);

# egal, was in der Datei stand: $a ist ein Array mit mindestens dem Index 0

for ($i=0$i<count($a); $i++)
{
  
$a[$i] = trim($a[$i]); # Leerzeichen am Anfang und am Ende entfernen
  
if (empty($a[$i])) continue; # wenn leer, dann zum nächsten Index.
  
$b explode ('|'$a[$i]); # $b besteht mindestens aus Index 0
  
$b[0] = trim ($b[0]); # wieder eventuelle Leerzeichen entfernen
  
if (empty($b[0])) continue; # zB. wenn b[0] leer ist, alles übergehen und die nächste Zeile nehmen.
  
printf('%s%s<br />%s | %s<hr size="1">',
              
$b[1], $b[2], $b[3],$b[4]);
}
# usw. 
Mit Zitat antworten
  #6  
Alt 03.04.2004, 21:38:25
Benutzerbild von thorben
thorben thorben ist offline
Junior Member
 
Registriert seit: Mar 2003
Ort: Krefeld
Beiträge: 245
thorben eine Nachricht über Yahoo! schicken
Haaa, für das, was ich eigentlich vorhabe, schien mir dieses Problem am einfachsten zu bewältigen, aber heute Nachmittag war ich äußerst skeptisch - ich brauchte meinen Quelltext nur um eine Zeile ergänzen, und schon war das Problem gegessen. DANKE
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


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:05:31 Uhr.


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


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