WinFuture-Forum.de: php kalenderwoche... - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

php kalenderwoche...


#1 Mitglied ist offline   tron0815 

  • Gruppe: Mitglieder
  • Beiträge: 12
  • Beigetreten: 18. Januar 02
  • Reputation: 0

geschrieben 02. Januar 2012 - 12:38

Hallo,
ich habe hier eine automatisch erzeugte csv-Datei wo Daten der ganzen Kalenderwoche erfasst werden.
Bisher konnte ich die speziellen Daten immer mit folgenden Script via php so anzeigen lassen:
<?php
$jahr = date("Y");
$heute = date("j.n.Y");
$monat = date("m");
 
$kw = date("W", mktime(0, 0, 0,$monat,$heute,$jahr));

$fp = @fopen("./KW$kw.csv", "r") or die ("Datei nicht lesbar.");
$zeile = fgets($fp, 1000);
$summe = 0;
while($zeile = fgets($fp, 1000))
{
$spalten = explode(";", $zeile);
$summe += $spalten[1];

}
echo $summe;

fclose($fp);
?>

<?php


Leider funzt das nun nicht mehr.
Ursache ist das die csv-Datein nun im falschen Format erzeugt werden. Es wird also statt KW01.csv nun KW 1.csv
Es wird also die führende Null bei der Kalenderwoche weggelassen.
Damit kann mein obiges php-Script nix anfangen.
Gibts dafür evtl ne Lösung ?
0

Anzeige



#2 Mitglied ist offline   N1truX 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.823
  • Beigetreten: 06. Juli 06
  • Reputation: 2
  • Geschlecht:Männlich
  • Wohnort:Berlin
  • Interessen:Bei WF vorbeischauen, Webprogrammierung, mit Freunden treffen oder irgendwas anderes...

geschrieben 02. Januar 2012 - 12:49

Das Problem ist das Leerzeichen im neuen Dateinamen (nicht ISO-8601 konform - Warum auch Standards nutzen?! xD)

Man wird das wohl erst einmal mit einer if-Schleife lösen können und bei Kalenderwochen < 10 dann den Wert manuell in " 1" etc. ändern. Zumindest fällt mir da nichts eleganteres ein.
PC: AMD FX-8150 | Sapphire Radeon HD 5770 @OC-Bios | GA-990XA-UD3 - 4x4 GB DDR3-2133 | OCZ Agility II 128 GiB SSD (OS) & 10 TB-Storage-Server | Win7 Professional x64
NB: Sony Vaio VPCYB16 - AMD Fusion E-350 - 1x4 GiB Kingston DDR3-1333 - 64 GiB Super*Talent SSD
0

#3 Mitglied ist offline   Holger_N 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.111
  • Beigetreten: 11. September 10
  • Reputation: 458
  • Geschlecht:Männlich

geschrieben 02. Januar 2012 - 13:09

Hast du Einfluß auf die Erstellung der Datei? Wird ein Leerzeichen statt der führenden 0 eingefügt oder ist da generell ein Leerzeichen, als ist da bei den zweistelligen Wochen dann auch eins? Was passiert, wenn du im Script einfach das Leerzeichen mit reinschreibst?
Bauernregel: Regnets mächtig im April, passiert irgendwas, was sich auf April reimt.
0

#4 Mitglied ist offline   tron0815 

  • Gruppe: Mitglieder
  • Beiträge: 12
  • Beigetreten: 18. Januar 02
  • Reputation: 0

geschrieben 02. Januar 2012 - 15:12

Hallo,
habe leider keine Möglichkeit die Generierung der csv-Datei zu beeinflussen.
Mit
  if ($kw == 01) {$kw = " 1";}
funktioniert schonmal der Aufruf der richtigen Woche.

Aber jetzt wird leider nicht mehr der Inhalt korrekt gezählt.
Es wird immer nur die erste Zeile der csv-Datei ausgegeben.
Ich vermute mal das die while-Schleife sich an der Leerstelle der csv-Datei aufhängt.
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0