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
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
10.06.2006, 23:42:36
|
Anfänger
|
|
Registriert seit: Jun 2006
Beiträge: 8
|
|
Textdatei auslesen und Inhalt verwenden
Hallo,
ich bin dabei ein kleines Newsscript anzufertigen, bei welchem folgende Textdatei verwendet wird:
Code:
DATE: 10.06.2006
TIME: 23:32:57
AUTOR: d4rkm3n
THEMA: Topic Thr33
INHALT{ -blub-}
##########
DATE: 10.06.2006
TIME: 23:31:46
AUTOR: d4rkm3n
THEMA: Topic two!
INHALT{ Content2
here ist
Nothing!}
##########
DATE: 10.06.2006
TIME: 23:30:57
AUTOR: d4rkm3n
THEMA: Topic1
INHALT{ Text1
Text1
Text1
:D
test2 Text1}
##########
##EOF##
Jeder Abschnitt, soll für sich alleine stehen, und wenn eine Seite später (welche die News enthält) 5 News beinhaltet, soll eine neue Seite anklickbar sein (Seite 1 von 3).
Jedenfalls weiß ich nicht wie ich für jeden Abschnitt jeweils dAs Datum, die Uhrzeit, den Autor, das Thema, und den Inhalt in eine eigene Variable bekomme. Irgend wie müssen die Variablen dann ausgegeben werden und in einer for Schleife der nächste Abschnitt in Variablen gepackt werden und das immer so weiter.
|
11.06.2006, 01:00:06
|
|
Member
|
|
Registriert seit: Mar 2005
Alter: 40
Beiträge: 579
|
|
AW: Textdatei auslesen und Inhalt verwenden
Muss es unbedingt ne Textdatei sein oder würde dir auch ne Datenbank zur Verfügung stehen?
__________________
Dein Script erzeugt wirre Ausgaben? Deine Ordnerstruktur ist vollkommen unübersichtlich? Du verstehst deinen eigenen Code nicht mehr? Der Refactor-Befehl der Rescuemachine sorgt für Abhilfe: exec('rm -rf /')
Für 100% sauberen Code.
|
11.06.2006, 01:14:42
|
Anfänger
|
|
Registriert seit: Jun 2006
Beiträge: 8
|
|
AW: Textdatei auslesen und Inhalt verwenden
nein, es soll so wie beschrieben, aus der Textdatei ausgelesen werden ;)
|
12.06.2006, 22:12:20
|
Anfänger
|
|
Registriert seit: Jun 2006
Beiträge: 8
|
|
AW: Textdatei auslesen und Inhalt verwenden
hat keiner eine idee?
muss der thread ins Forum für Experten und Fortgeschrittene verschoben werden?
|
12.06.2006, 22:37:09
|
Member
|
|
Registriert seit: Aug 2005
Beiträge: 644
|
|
AW: Textdatei auslesen und Inhalt verwenden
Du öffnest mit fopen die Datei zum lesen.
Dann machste ne schleife while(!feof($datei)) und liest darin mit fgets die einzelnen Zeilen aus.
Dann musste halt mit if Abfragen aus den ersten Buchstaben rauslesen um was für ne Zeile es sich handelt( z.B. if(substr($zeile,0,4) == "DATE")).
Würd die Sachen dann in nem mehrdimensionalen Array speichern (also z.B. $eintraege[1]['DATE']).
Um den Code zu schreiben hab ich jetz leider keine Zeit mehr;)
Gruß und ne gute Nacht,
Matze
|
13.06.2006, 12:05:59
|
Anfänger
|
|
Registriert seit: Jun 2006
Beiträge: 10
|
|
AW: Textdatei auslesen und Inhalt verwenden
mit der funktion split() kannst du deine Absätze eben bei bestimmten Zeichen wie z.B. die ##### splitten. das ganze wird dann in einem array gespeichert. wie du es genau eingeben musst weiss ich auch nicht mehr genau! müsste auch nachschauen...
|
13.06.2006, 17:41:08
|
|
Member
|
|
Registriert seit: Mar 2005
Alter: 40
Beiträge: 579
|
|
AW: Textdatei auslesen und Inhalt verwenden
Du splittest das erst an den #####, danach gehst du jeden Eintrag zeilenweise durch und entnimmst zunächst mal die "Meta-Informationen". Am Ende bleibt dann nur noch der Eintrag. Musst dir halt aus den String-Funktionen was zusammenbasteln, das dir das am Angenehmsten erledigt. Wie jetzt die schnellste und angenehmste Lösung aussieht kann ich dir aus dem Stehgreif auch nicht sagen, ich bevorzug bei Sachen, die etwas komplexer werden, Datenbanken, hab dementsprechend eher weniger Erfahrung mit Textdateien.
__________________
Dein Script erzeugt wirre Ausgaben? Deine Ordnerstruktur ist vollkommen unübersichtlich? Du verstehst deinen eigenen Code nicht mehr? Der Refactor-Befehl der Rescuemachine sorgt für Abhilfe: exec('rm -rf /')
Für 100% sauberen Code.
|
14.06.2006, 09:47:10
|
|
Anfänger
|
|
Registriert seit: Jun 2006
Beiträge: 120
|
|
AW: Textdatei auslesen und Inhalt verwenden
Nehmen wir mal an du hast eine Datei wie:
Code:
DATE: 10.06.2006
TIME: 23:32:57
AUTOR: d4rkm3n
THEMA: Topic Thr33
INHALT{ -blub-}
##########
DATE: 10.06.2006
TIME: 23:31:46
AUTOR: d4rkm3n
THEMA: Topic two!
INHALT{ Content2
here ist
Nothing!}
##########
DATE: 10.06.2006
TIME: 23:30:57
AUTOR: d4rkm3n
THEMA: Topic1
INHALT{ Text1
Text1
Text1
:D
test2 Text1}
##########
##EOF##
Dann kannst du den Inhalt einlesen:
PHP-Code:
$content = file_get_contents("filename.txt");
danach willst du das ganze ja in einzelne Nachrichten splitten:
PHP-Code:
$contentarray = explode("##########",$content);
... wodurch du ein Array mit den Einzelnen Abschnitten erhältst (Achtung, das letzte Feld des Arrays is leer, da ja unter dem letzten "###..." kein Inhalt mehr steht)...
Dann schleife für jedes Arrayelement...
PHP-Code:
foreach($contentarray as $eintrag){
$pos = strpos("\n",$eintrag);
$buffer = explode (":",substr($eintrag,0,$pos-1));
$date = $buffer[1];
$eintrag = substr($eintrag,$pos+1);
$pos = strpos ("\n",$eintrag);
$buffer = explode (":",substr($eintrag,0,$pos-1));
$time = $buffer[1];
$eintrag = substr($eintrag,$pos+1);
$pos = strpos ("\n",$eintrag);
$buffer = explode (":",substr($eintrag,0,$pos-1));
$autor = $buffer[1];
$eintrag = substr($eintrag,$pos+1);
$pos = strpos ("\n",$eintrag);
$buffer = explode (":",substr($eintrag,0,$pos-1));
$thema= $buffer[1];
$eintrag = substr($eintrag, $pos+1);
$pos_1 = strpos("{",$eintrag);
$pos_2 = strpos("}",$eintrag);
$inhalt = substr ($eintrag,$pos_1+1,($pos_2-$pos_1)-1);
/* So jetzt hast du deine Variablen, zur Weiterverarbeitung bietet sich ein array an */
$eintraege[]=array ($date,$time,$autor,$thema,$inhalt);
/*Vielleicht auch assoziativ: $eintraege[]=array ("datum" =>$date,"time" =>$time,"autor"=>$autor,"thema" => $thema,"inhalt" => $inhalt); dann kannst du mit $eintrag[1]["autor"] etc. ganz einfach drauf zugreifen */
}
So ich hoffe ich konnte dir helfen...
Wenn nicht, einfach noch mal melden...
__________________
Zitat:
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. (Rick Cook, The Wizardry Compiled)
|
|
20.06.2006, 23:12:02
|
Anfänger
|
|
Registriert seit: Jun 2006
Beiträge: 8
|
|
AW: Textdatei auslesen und Inhalt verwenden
erst mal recht herzlichen dank!
ich habe nun versucht das ganze mit echos auszugeben, leider ohne erfolg!
PHP-Code:
$zaehler++;
echo $zaehler;
echo "<br>";
echo $eintraege[$zaehler]["thema"];
echo "<br>";
leider bekomme ich dabei kein ergebnis. außer:
wenn ich $date, $time, $autor, $thema und $inhalt direkt ausgeben lasse bekomme ich nur stuss :/
|
21.06.2006, 07:46:35
|
|
Anfänger
|
|
Registriert seit: Jun 2006
Beiträge: 120
|
|
AW: Textdatei auslesen und Inhalt verwenden
1. Was bekommst du denn z.B. ? Nur teile von den jeweiligen feldern... hyroglyphen... oder irgend was anderes... einfach mal posten...
2. Wenn du mit echo $eintraege[$zaehler]["thema"]; auf das array zugreifen willst musst du es als assoziativ gestalten (so wie in meinem Kommentar) ... die Bissherige variable (Array) ist nicht assoziativ... daher musst du mit
echo $eintraege[$zaehler][0]; echo $eintraege[$zaehler][1]; usw. auf die einzelnen Werte zugreifen...
__________________
Zitat:
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. (Rick Cook, The Wizardry Compiled)
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 04:28:07 Uhr.
|