PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datei-Datum ändern mit PHP


Hardy
09.10.2002, 15:47:53
Hallo,

ich möchte das Datum von Dateien per PHP ändern.
Zum einfachen aktualisieren des Datums gibt es ja folgendes Script:
<?PHP
$date = time();
$datei = 'testdatei.txt';
if(touch($datei, $date))
echo 'Datum und Uhrzeit auf ' . strftime ('%e.%m.%Y - %R',$date) . ' geändert';
else
echo 'Datum und Uhrzeit konnten nicht geändert werden.';
?>
Das läuft auch gut. :)
Es sollte aber mit kleinen Änderungen in Zeile 2 auch eine definierte Zeit erzeugen können. So sollte das folgende Script eigentlich auf den 29.11.2001, 7:30 Uhr umschalten.
<?PHP
$date = mktime(7,30,0,11,29,2001);
$datei = 'testdatei.txt';
if(touch($datei, $date))
echo 'Datum und Uhrzeit auf ' . strftime ('%e.%m.%Y - %R',$date) . ' geändert';
else
echo 'Datum und Uhrzeit konnten nicht geändert werden.';
?>
Leider tut es aber genau das nicht. :( Ich bekomme nur immer die Meldung:
Warning: utime failed: Operation not permitted in /home/www/web123/html/datum.php on line 4
Fällt jemandem etwas dazu ein? Ich kann einfach keinen Fehler finden. ?(

Viele Grüsse,
Hardy

MiH
09.10.2002, 17:54:16
was steht in line 3 und 4 ?

Hardy
09.10.2002, 18:00:12
Hallo MiH.

Siehe obiges Script. Mehr steht im Moment noch nicht in der Datei.
Also Line 3 und 4 sind:
$datei = 'testdatei.txt';
if(touch($datei, $date))
Grüsse,
Hardy

MiH
10.10.2002, 08:51:06
touch

Setzt Datum und Uhrzeit der letzten Änderung und des letzten Zugriffs der durch filename spezifizierten Datei auf den durch time spezifizierten Wert. Wenn die Option time nicht angegeben wurde, wird die aktuelle Zeit benutzt. Dies ist äquivalent zu dem, was utime tut (manchmal wird auch als utimes davon gesprochen). Ist die dritte Option atime gesetzt. Die Zugriffszeit wird stets modifiziert, unabhängig von der Anzahl der Parameter.

http://www.php.net/manual/en/function.touch.php
http://www.php.net/manual/sv/printwn/function.fileatime.php

vielleicht hilft dir das weiter.

Hardy
10.10.2002, 10:48:57
Hallo MiH, danke für Deine Mühe.

Leider hilft es mir nicht.
Auf den Seiten war ich schon überall. Aber dort steht genau das, was ich in meinem kleinen Script auch habe. Erst dachte ich, es hätte vielleicht was mit dem Server zu tun, auf dem ich es starte (wegen "Operation not permitted"). Aber auf einem anderen Server ist genau das gleiche Ergebnis. An den Dateizugriffsrechten liegt es auch nicht. Ist alles OK.

Wenn ich das ganze in Perl schreibe, geht es. Aber das kommt für meine Anwendung leider nicht in Frage:
#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

my $Datei = $ENV{'QUERY_STRING'};
my $Jetzt = 1007015400;
utime($Jetzt,$Jetzt,$Datei);

print "Content-type: text/htmlnn";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "n";
print "<html><head><title>Test-Ausgabe</title></head><body>n";
print "Zeitstempel von $Datei wurde aktualisiert!n";
print "</body></html>n";