Hi,
ich möchte in einer while die dateinummer abfragen
die in einer textdatei liegt.
[PHP]
$nummer=file_get_contents(„nummer.txt“);
while($i==$nummer)
{
//dann soll die nummer in einen link geschrieben werden und dannach um 1 erhöht, bis //sie $nummer entspricht.
$Kapitel=„<a href="#$i" class="orange"> $i “;
$i++;
}
[/PHP]
meine frage ist jetzt, wie ich das anstelle, das die ausgabe an einer bestimmten stelle stattfindet!
es soll in eine linkbar ausgegeben werden, die ein paar codezeilen weiter unten liegt.
Könntet ihr mir da helfen??
Ich weiß nicht wie ich die Variable da runter kriegen soll, bevor die mit einer neuen überschrieben wird!!
Warum überschriebst du eine Variabel, die du später benutzen willst?
Aber ich denke dein Ansatz ist verkehrt. oben und unten spielen im HTML Kontext keine Rolle und selbst wenn du willst, dass der Code später im Quelltext sein soll, warum rufst du die Funktion nicht einfach dort auf, wo du ihn benötigst?
Kannst du nochmal klar sagen was du machen willst? Dateinummern abfragen? Was sind Dateinummern? Wie sieht deine Textdatei aus? Was ist dein $i und warum passt deine Schleifenbedingung überhaupt nicht zu den was du laut Kommentar erreichen willst?
Also… ich hab in ein paar textdateien texte hinterlegt, die chronologisch nummeriert sind… heißt 1.txt, 2.txt, 3.txt usw.
die Überschrift jeder Datei (1.) ist mit einem 1.
versehen, welche mit dem link erreicht werden kann.
Leg die Dateien alle in ein seperates Verzeichnis, dann liest du das komplette Verzeichnis ein. Dann gibst du alles aus, wie man eine Datei öffnet und an den Inhalt kommt findest du selbst raus?
[PHP]
<?php
// Mit den folgenden Zeilen lassen sich
// alle Dateien in einem Verzeichnis auslesen
$handle=opendir ("pfad");
while ($datei = readdir ($handle)) {
if (!is_dir($datei)){
echo $datei.": \n";
//datei öffnen, inhalt ausgeben lassen
}
}
closedir($handle);
?>
Ich hab ein grundgerüst, in welchem die datei ausgegeben wird und ich kann doch nicht mittendrin den echo beenden und mit einem neuen echo anfangen oder??
Wie pack ich die elemente dann an die richtige stelle und woher weiß ich welche datei welche ist??
Ich weiß ja nicht, da der ordner dynamisch ist welche datei ich auslese… d.h. ich hab keinen namen und nichts!
Wie läuft das mit den insidelinks für die navbar??
wieso nicht?
Aber deine Fragestellung hatte nichts mit echo zu tun, du kannst auch den Inhalt in einer Variabeln sammeln und irgendwann später ausgeben.
Hab den code mal etwas angepasst… er gibt die dateien schon aus… jedoch nur wenn eine einzige existiert!!
Wenn mehr als eine datei im order kapitel ist
(z.B. 1, 2, 3, 4 mit .txt endung) dann macht er die nicht auf sondern zeigt mir:
Warning: file_get_contents(2.txt) [function.file-get-contents]: failed to open stream: No such file or directory in C:\xampp\htdocs\Schreib dein eigenes Buch\Kapitel\kapitel\read.php on line 36
das das am file_get_contents liegt versteh ich schon… jedoch nicht warum, denn codemäßig ist ads glaube ich korrekt
Aber wenn ich die while wegnehme, zeigt er mir für $i und für $nummer eine ausgabe und wenn ich den echo aus der while ausgebe, hab ich auch eine ausgabe!
In der Schleifenbedingung überprüfst du, ob 1 dem Inhalt der Datei nummer.txt gleicht. Ich wette mein Pfeffersteak dass das nicht der Fall ist, ist doch klar, dass die Schleife nicht einmal ausgeführt wird.
Du weißte schon, dass der Inhalt einer Datei nicht deren Dateiname ist oder?
Wie wäre es also, wenn du, wie von mir empfohlen, die Textdateien in ein Seperates Verzeichnis legst, dann das komplette Verzeichnis ausliest, den Dateinamen nimmst und als Link ausgibst?!