mit php eine txt datei auslesen

...komplette Frage anzeigen

2 Antworten

Habs nun hinbekommen wie ich es wollte.

Danke für die Hilfe!!

 $kw = date('W');
 $jahr = date('Y');
 $kalenderwoche = $kw;

$timestamp_montag = strtotime("{$jahr}-W{$kalenderwoche}");

$timestamp_sonntag = strtotime("{$jahr}-W{$kalenderwoche}-7");
echo date("d.m", $timestamp_montag) . ' bis: ' . date("d.m", $timestamp_sonntag) . ;

ganz toller dreizeiler

<?php
// Achtung die erste Zeile dieser Datei wird am Sonntag ausgegeben
// Datei einlesen
$file = file("datei.txt");
//Wochentag bestimmen. 0 = Sonntag!
$weekday=date("w");
//Zeile ausgeben
echo $file[$weekday];
?>

wow das wars es schon? DANKE !!

0
@ChistinaB

naja unter umständen musste noch trimmen oder Htmlzeichen escapen.

Aber ich weis ja nicht was du für einen Inhalt hast. Manchmal ist es ja auch gewollt, das Html ausgegeben wrid, deswegen hab ich das mal weggelassen

1
@cat64k

ich bins nochmal, kleine verbesserung:

<?php
// Achtung die erste Zeile dieser Datei wird am Sonntag ausgegeben
// Datei einlesen
if($file = file("datei.txt")){
  //Wochentag bestimmen. 0 = Sonntag!
  $weekday=date("w");
  //Zeile ausgeben
  echo $file[$weekday];
}
else{
   // Hier der Code falls datei nicht eigelesen weden konnte
   echo "datei.txt konnte ich gelesen werden";
}
?>
1
@cat64k

Das ist einfach nur ein kurzer Text. So wie es ausschaut, klappt es genau wie ich es wollte. ;-)

0
@ChistinaB

Verbesserung nummer zwei, es wird vorher geprüft ob die Datei lesbar ist.

<?php   
$filename = "test22.php";  
// Prüfen ob Datei existiert und lesbar ist
if(!is_readable($filename)){
  // Datei existiert nicht
  echo "Datei kann nicht geöffnet werden";
}
// Achtung die erste Zeile dieser Datei wird am Sonntag ausgegeben
// Datei einlesen
else if(!$file = file("test2.php")){
   // Hier der Code falls datei nicht eigelesen weden konnte
   echo "datei.txt konnte ich gelesen werden";
}
else{
  //Wochentag bestimmen. 0 = Sonntag!
  $weekday=date("w");  
  $weekday=1;
  //Zeile ausgeben
  echo $file[$weekday];

}
?>

Anmerkung inzwischen 14 Zeilen code plus 7 zeilen Kommentar

1
@cat64k

Hi cat64 evtl kannste mir nochmal helfen. Dieselbe datei... 7 Zeilen. Nun möchte ich immer abwechselnt erst den Wochentag dann eine Zeilenumbruch dann Zeile aus der datei, Ein arry mit den Wochentagen habe ich schon.. Quasi so:

Sonntag

Hier ist die 1. Zeile

Montag

Hier ist....

0
@ChistinaB

also ich gehe jetzt einfach mal davon aus, das in $file das array mit den zeilen ist.

also ich geh mal davon aus das in $file die Datei steht (diesen ganz klimbimm von oben meinem Verbesserungsvorschlag zwei nimmste mal mit und gehst in den letzten else-zweig: hab hier jetzt zwei Varianten

Plaintext

<?php
// Plaintext
// Datei Einlesen
$file = file("datei.txt")
// Array für die Wochentage
$wochentage = array("Sonntag","Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"
// Die 7 tage durchlaufen
for($i=0; $i < 7;$i++){
  // Wochentag ausgeben
  echo $wochentage[$i] . "\r\n";
  // Text ausgeben
  echo $file[$i];  // file() hat die Zeilenumbrüche der Datei schon drin
}

Hier die HTML-Variante, mit einfachen Zeilenumbrüchen <br>

<?php
// HTML
    // Datei einlesen (diesmal ohne Zeilenumbrüch)
$file = file("datei.txt", FILE_IGNORE_NEW_LINES)
// Wochentage bestimmen
$wochentage = array("Sonntag","Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag
// Wochentage durchlaufen
for($i=0; $i < 7;$i++){
  // Wochentage ausgeben
  echo $wochentage[$i] . "<br />\r\n";
// Zeile ausgeben
  echo $file[$i] . "<br />\r\n";  
}
0
@cat64k

Ähmm.. jetzt bekomme ich nur eine leere seite.. hmmmm Muss mal schnell zur kita.. komm gleich wieder. Danke

0
@ChistinaB
$wochentage = array("Sonntag","Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"

ersetzen durch

$wochentage = array("Sonntag","Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");

hatte nicht getestet ^^

0
@cat64k

Hallo CAT64 irgendwie gehts nicht... hmm Das ist meine Datei:

<?php $datum = date("d.m"); $t = date('w'); // Datei Einlesen $file = file("essen.txt") // Array für die Wochentage $wochentage = array("Sonntag","Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"); // Die 7 tage durchlaufen for($i=0; $i < 7;$i++){ // Wochentag ausgeben echo $wochentage[$i] . "\r\n"; // Text ausgeben echo $file[$i]; // file() hat die Zeilenumbrüche der Datei schon drin } ?>

0
@ChistinaB

bitte :)

ein paar syntaxfehler können immer mal passieren ^^

1

Hab da noch eine Frage. Möchte diese Ausgabe bekommen:

Immer die laufende Woche: z.B. vom 10.03 - 16.03

0
@ChistinaB

wow :)

gut :)

viel spaß noch, ich muss dann mal arbeiten ;-9

1
@ChistinaB

wow :)

gut :)

viel spaß noch, ich muss dann mal arbeiten ;-9

0
@cat64k

Hi nochmal hat doch nicht ganz geklappt. Mein script rechnent nun jeden Tag neu die Tage aus. Die KW ist zwar OK aber es zeigt mir heute KW 11 vom 11.03 - 17.03 richtig wäre ja vom 10.03 15.03. So muß ich es zumindest haben. Das grundgrüst habe ich im web gefunden.

$datum = date("d.m");
$t = date('w');
$kw = date('W');
$datum1 = date("Y");  
$wochen = $kw;                                     
$woche = $wochen*7;                              
$timestamp_week = mktime($woche,$datum1);         
$timestamp_week = $timestamp_week+0*60*60*24*7;  
$today = date("j.n.Y", $timestamp_week);          
$abzug=0;

for($day = 0; $day < "7"; $day++)               
{
if($day == "0"){ $tag[$day]="$today"; }else{
$abzug=$abzug+1;
$tag[$day] = $today-$abzug.".".$datum1;
}
}
$tag = array_reverse($tag);                    
echo "Kalenderwoche: $wochen <br>($tag[0] - $tag[6])<br>\n";
0

Was möchtest Du wissen?