PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   Datei auslesen! (http://www.selfphp.de/forum/showthread.php?t=9168)

juergen 27.11.2004 10:16:31

Datei auslesen!
 
Hallo Forumsmitglieder,

ich habe folgendes Problem!

Ich lese ein Verzeichnis aus und lasse mir die Dateien als Verweise auflisten. Den Dateinamen nehme ich als Verweistext. Das ist mit problemen Verbunden da ich keine Umlaute oder Leerzeichen verwenden kann. Deshalb möchte ich die einzelnen Dateien auslesen und die Überschrift <h2>Überschrift</h2> als Verweistext nutzen.

Dazu möchte ich die Dateien auslesen, die mir als Variable schon vorliegt, und den Teil zwischen <h2>TEXT</h2> dieser Datei als Verweistext ausgeben.

Ich hoffe das ich mich nicht zu unklar ausgedrückt habe.

Ich würde mich über eine Info von Euch sehr freuen. DANKE

Grüße Jürgen

c4 27.11.2004 10:21:20

Einfacher, sinnvoller, vernünftiger und besser wäre es, wenn Du einfach dafür sorgst, dass alle Dateinamen gültige Zeichen enthalten (Lerrzeichen, Bindestrich und Umlaute gehören nicht dazu)

Persönlich halte ich die Wahrscheinlichkeit, dass eine Überschrift Leerzeichen oder Co. enthält für größer, als bei Dateinamen, aber gut.

Die Überschrift bekommst Du auf zwei Wegen: mit strstr(), strpos(), substr() usw. oder mit preg_match(_all)()
--> http://php.net/strstr
--> http://php.net/strpos
--> http://php.net/substr
--> http://php.net/preg_match
--> http://php.net/preg_match_all

Versuch Dich einfach mal und zeig uns dann, an was Du genau scheiterst.

juergen 27.11.2004 13:49:20

Datei auslesen mit preg_match
 
Also ich habe keinen Erfolg,

die Quellen sind sehr gut aber ich bekomme keine Ausgabe sondern nur Fehlermeldungen.

xabbuh 27.11.2004 13:51:18

Re: Datei auslesen mit preg_match
 
Zitat:

Original geschrieben von juergen
Also ich habe keinen Erfolg,

die Quellen sind sehr gut aber ich bekomme keine Ausgabe sondern nur Fehlermeldungen.

Dann zeig mal deinen Quellcode und die Fehlermeldungen.

juergen 27.11.2004 13:56:48

Datei auslesen
 
Mein Code,

http://nopaste.php-q.net/99221

Die Fehlermeldung:

Fatal error: Cannot redeclare extractstring() (previously declared in D:ApacheServerxampphtdocskenyanavitest.php:38) in D:ApacheServerxampphtdocskenyanavitest.php on line 38

xabbuh 27.11.2004 15:55:59

Zu der Fehlermeldung:
Wenn du die Funktion ExtractString innerhalb einer Schleife definierst, wird PHP bei jedem Durchlauf der Schleife versuchen, die Funktion zu erkennen. Da die Funktion aber bereits nach dem ersten Durchlauf der Schleife vorhanden ist, wird dir diese Fehlermeldung ausgegeben, weil eine Funktion nur einmal in einem Script definiert werden darf. Setze die Definition einfach vor die Schleife und du wirst dieses Problem nicht mehr haben.
Wenn es dann immer noch nicht funktioniert, poste den neuen Code mit Fehlermeldungen etc..
s.a. FAQ - Fatal error: Cannot redeclare ... (previously declared in ...) in ... on line ...

P.S.: Wenn du langen Quelltext hast, poste ihn doch nicht hier direkt, sondern schreibe ihn in ein Nopaste und stelle den Link dazu hier rein.

juergen 27.11.2004 18:30:12

Fehlermeldung
 
Na super,

die Fehlermeldung ist weg aber ich bekomme noch immer keine Ausgabe.

Mein Code: http://nopaste.php-q.net/99226

Es scheint so als ob da noch was fehlt. Muß nicht erst die Datei geöffnet und ausgelesen werden?

Aber erst mal vielen Dank für Deine Hilfe. Ich habe schon wieder dazugelernt.

Gruß Jürgen

xabbuh 27.11.2004 20:06:45

Beachte mal, in welcher Reihenfolge du Aktionen ausführst. Es bringt nicht sehr viel, ein preg_match() auf eine Variable anzuwenden, die erst einige Zeilen später definiert wird. Hier habe ich dir deinen Quelltext mal kommentiert.
Und hier ist mal ein Lösungsvorschlag von mir.

juergen 27.11.2004 20:56:29

Datei auslesen
 
Hallo Hallo,

nicht schlecht aber ich bekomme keine Ausgabe!

Die Variable $title ist leer.

Mein aktueller Code:

http://nopaste.php-q.net/99272

Es ist mir vollkommen klar was Du meinst. Wieder was gelernt.

Danke für Deine Hilfe

Gruß Jürgen

xabbuh 27.11.2004 21:23:46

Hast du dir $matches Mal mit print_r() oder var_dump() anzeigen lassen? Hat die Variable $content den richtigen Inhalt, also den der Datei?


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

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