PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   Probleme beim Auslesen des Dateidatums (https://www.php-resource.de/forum/php-developer-forum/58069-probleme-beim-auslesen-des-dateidatums.html)

Helpseeker 12-08-2005 13:38

Probleme beim Auslesen des Dateidatums
 
Hi zusammen,

ich bin noch nicht so lange beim PHP-Programmieren und bin bislang immer über trial-and-error weitergekommen. Jetzt hänge ich aber total und habe auch über die Suche nichts passendes gefunden.

In einem Datenverzeichnis befinden sich pdf-Dateien eines Jahrbuchs eines Sportvereins, das Adressen und Spielansetzungen enthält. Da ändert sich natürlich laufend etwas.
Ich habe nun eine csv-Datei erstell, die folgende Infos enthält: Seitennummer;Beschreibung;Größe;Dateiname
Diese Datei lese ich ein und gebe sie in einer Tabelle aus. Den Dateinamen will ich noch verlinken, sollte auch kein Problem darstellen.

Nun möchte ich aber die csv-Datei nicht ändern, wenn ich eine Datei geändert habe. Dazu steht ja in der Variablen data[3] jeweils der Name des PDF'S. Daraus müsste ich doch mit filemtime das Datum auslesen können.
So, wie ich es gemacht habe, scheint das aber ins Leere zu laufen. Es wird immer das 1970er Datum gezeigt. Der Pfad stimmt allerdings.
Warum bekomme ich das Datum nicht raus? Jelänger ich drüberschaue, desto weniger finde ich noch Ansätze.
Das alles spielt sich übrigens im geschützten (.htpsswd) Bereich ab. Hat das damit zu tun?

PHP-Code:

$load=file('daten/jahrbuch/overview.csv');
$show="<table width=80% border=0 cellspacing=0 cellpadding=0>";
$show.="<tr><td><div align=center><b>Seite</b></div></td><td><b>Beschreibung</b></td>
<td><div align=center><b>Stand</b></div></td>
<td><div align=center><b>Größe</b></div></td><td><div align=center><b>Link</b></div></td></tr>"
;
for(
$i=0;$i<=count($load)-1;$i++)
{
    
$data=explode(';',$load[$i]);
        
$datei="/daten/jahrbuch/$data[3]";
        
$lastupdate filemtime($datei);
    
$show.="<tr>
        <td><font size=2><div align=center>"
.$data[0]."</div></td>
        <td><font size=2><div align=left>"
.$data[1]."</div></td>
        <td><font size=2><div align=center>"
        
.date("d.m.Y H:i:s",$flastupdate)."</div></td>
        <td><font size=2><div align=center>"
.$data[2]."kb</div></td>
        <td><font size=2><div align=center>
        <img src='daten/jahrbuch/pdf_icon.gif'></div></td>
        </tr>"
;
}
echo 
$show;
echo 
"</table>"

Ich weiss, dass man das alles eleganter programmieren kann, aber ich bin ganz glücklich, dass es bis auf das genannte Problem überhaupt läuft. Und für meinen Zweck muss es auch nicht ausgefeilter sein. Daher wäre ich froh, wenn irgendjemand das Problem findet und mich drauf stösst.

Hoffend,

Markus

Quetschi 12-08-2005 13:43

Hallo,

guck nochmal genau:

$lastupdate != $flastupdate ;)

Gruss
Quetschi

penizillin 12-08-2005 13:43

$flastupdate

:confused:

Quetschi 12-08-2005 13:43

Sorry, falsch geklickt...

Helpseeker 12-08-2005 13:45

sorry, habe ich nur im kopierten teil nicht behoben. ist mir beim reinkopieren auch aufgefallen und ich hab's im quelltext korrigiert. problem bleibt absolut gleich.

das war's also nicht.

penizillin 12-08-2005 13:48

dann zeig mal, was in $lastupdate drin ist.
vermutlich eine null.
mach mal daher vorher ne überprüfung mit file_exists()

Quetschi 12-08-2005 13:50

Dann poste doch deinen AKTUELLEN Code ohne irgendwelche Änderungen. Scheint zur Zeit Mode zu sein ein Problem zu einem bestimmten Code präsentiert haben zu wollen aber dem Forum hier nen anderen Code vorzulegen.

Die Glaskugeln der Forumsmitglieder sind leider aufgrund einer Rückrufaktion des Herstellers alle in der Werkstatt, somit können wir momentan nur helfen wenn uns Originalcode vorgelegt wird.

Helpseeker 12-08-2005 13:51

Die Ausgabe ist "01.01.1970 01:00:00".
Ich habe bereits hier irgendwo gefunden, dass das daraufhindeutet, dass die Variable irgendwei leer ist.
Aber ich kann nicht erkennen, warum das bei mir der Fall sein sollte.

Hm?

Helpseeker 12-08-2005 13:54

Zitat:

Original geschrieben von Quetschi
Dann poste doch deinen AKTUELLEN Code ohne irgendwelche Änderungen. Scheint zur Zeit Mode zu sein ein Problem zu einem bestimmten Code präsentiert haben zu wollen aber dem Forum hier nen anderen Code vorzulegen.

Die Glaskugeln der Forumsmitglieder sind leider aufgrund einer Rückrufaktion des Herstellers alle in der Werkstatt, somit können wir momentan nur helfen wenn uns Originalcode vorgelegt wird.

Hä? Das ist der Originalcode. Original den versuche ich aktuell in meiner Seite ans Laufen zu bekommen. Ich hatte lediglich den Schreibfehler korrigiert, sonst nichts.

penizillin 12-08-2005 13:54

beachte, keiner hat nach der ausgabe gefragt.
nimm am besten var_dump()

Quetschi 12-08-2005 13:55

Das ist aber die mit date() formatierte Ausgabe, oder? Gib $lastupdate mal direkt aus, was kommt da?

EDIT:
Hab schon gesehen, dass das der einzige Fehler zum Originalcode war, sorry ;)

Helpseeker 12-08-2005 14:04

Scheint, als kommen wir der Sache schon näher.
Wenn ich mit file_exists checke, ist die datei nicht da, von der er das Datum ausgeben soll.
Und in $lastupdate ist tatsächlich nichts drin.

Daher hier mal die Original "overview.csv":

01 - 03;Hinweise;20;01-03.pdf
04;Rahmenterminplan;9;04.pdf
05 - 06;wichtige Adressen;35;05-06.pdf
07 - 08;Spielplan Herren;13;07-08.pdf
09 - 10;Spielplan Nachwuchs;12;09-10.pdf
usw.

Ist an der Angabe des Dateinamens etwas problematisch?

Wenn ich mir $datei ausgeben lasse, steht der korrekte Dateinamen drin.

mrhappiness 12-08-2005 14:07

Zitat:

Original geschrieben von Helpseeker
Wenn ich mir $datei ausgeben lasse, steht der korrekte Dateinamen drin.
Der korrekte Name einer nicht vorhandenen Datei?

Ich denke mal, dass dein / am Anfang das Problem verursacht, da du damit nicht in deinem eigenen Verzeichnis suchst, sondern direkt auf alleroberster Ebene mit der Suche anfängst.

Schau dir mal $_SERVER['DOCUMENT_ROOT'] an und baue das geschickt ein.

Wo liegt die Datei denn relativ zu deiner Internetstartsteite?

Quetschi 12-08-2005 14:07

PHP-Code:

$datei="/daten/jahrbuch/$data[3]"

könnt es sein, dass hier der Fehler liegt? Lass mal den Schrägstrich am Anfang weg:
PHP-Code:

$datei="daten/jahrbuch/$data[3]"

EDIT:
Och happi... :(

mrhappiness 12-08-2005 14:11

OffTopic:
ällabätsch :p :D


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

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG