PHP letzter Zugriff durch BackUp wird geändert

Hey,

ich hab mir ein Uploadskript mit eurer Hilfe gebastelt bzw. ich bastel immer noch dran.

Da jeden Tag ein BackUp von unserem Server gemacht wird, wird das Datum des Zugriffszeitpunktes immer geändert von dem Bild. Das stört mich ein bisschen.

Habt ihr ne Idee wie ich das eventuell umgehen kann und der Ordner trotzdem kopiert wird?

Grüße

Es werden keine backups gemacht.

Wer redet den von bplaced? Keiner!

hi,

was für ein Bild meinst Du eigentlich?
Wenn es um Dateien geht, so kannst Du zB. mit touch auch einen Zeitpunkt der letzten Änderung festlegen.

ciao

Hey :slight_smile:

Ich habe ein Bildhostingsystem mir programmiert ^^ und dort werden die letzten Zugriffe der Bilder angezeigt. Durch das BackUp wird halt immer das Zugriffdatum und die Zugriffzeit geändert.

Grüße

Das Dateisystem ist wohl eher nicht der richtige Ablageort für diese Info - weil sie dort, wie du ja merkst, auch durch andere Aktionen beeinflusst werden kann.

Wenn du das nicht willst - dann speichere die Info irgendwo anders ab.

Hm…es gibt bestimmt noch eine andere Lösung.

Miro wird schon ne Idee haben -hoff-

Ja, dass das Backup den Zugriffszeitpunkt ändert, lässt sich vielleicht noch irgendwie verhindern.

Spätestens wenn dann irgendeine andere Dateisystem-Operation das dann aber doch mal wieder tut - und dann plötzlich selbst Bilder, deren letzte Zugriffe Wochen oder Monate zurückliegen, einen Wert von vor fünf Minuten anzeigen - dann wird sicherlich das grosse Gejammer losgehen. Dann wirst du einen neuen Thread im Forum aufmachen, fragen, ob man da nicht noch irgendwas machen könnte, um die verlorenen Daten zurückzubekommen - und die Antwort wird ziemlich sicher Nein lauten.

Wenn du Daten allein deiner Kontrolle unterliegend haben willst - dann lege sie auch so ab, dass sie allein deiner Kontrolle unterliegen.
Zugriffszeitpunkt im Dateisystem ist ein Datum, dass so weit ausserhalb deiner Kontrollmöglichkeiten liegt, dass du es als absolut unzuverlässig für dein Vorhaben ansehen kannst.

chrisb: Ich habe dir schon einmal gesagt, dass ich deine hilfe nicht beanspruche, daher werde ich deine Beiträge ignorieren.

Ich weiss, ich kenne doch deine hier zur Schau gestellte Unvernunft und Uneinsichtigkeit schon zur Genüge.

Ich werde Fragen hier trotzdem beantworten, soweit ich das für sinnvoll halte - ungeachtet der Person, die sie stellt.
Vielleicht interessieren sich andere Mitleser auch für die Thematik, und können dabei noch was lernen - was natürlich auch lernen wollen voraussetzt. Dass das bei dir permanent nicht der Fall ist, ist zwar schade, aber offenbar nicht zu ändern. Sei’s drum.

was würdet ihr von zugriffspeicherung per sql halten??
rewrite engine per htacess und die datein per php ausgeben und dabei den zugriff in ner db speichern?
sicherlich nicht einfach umzusetzen aber ne sinnvolle lösung wäre es meiner meinung nach…

huhu

dann kann man aber auf das bild nicht mehr verlinken^^()

grüße

klar mit der rewrite engine geht das

kannst das ganze ja intern machen ohne das der user das mitbekommt

das steht zur zeit inder der htaccess bzw kommt noch rein

RewriteEngine on RewriteRule ^(.*).jpg$ /index.php?datei=$1&%{QUERY_STRING}

was muss ich den machen xD

[code]<?php
$bild = $_GET[“datei”]

$file = “realerpfadzumbildorrdner/”.$bild;
$filename = $bild;

if(file_exists($file))
{
$filetype = filetype($file);
if($filetype){
header(“Content-type: image/”.$filetype);
header(“Content-Disposition: inline; filename=”.$filename);
readfile($file);
exit;
}
else
echo “Unbekannter Dateityp!”;
}
else
echo “Datei leider nicht gefunden.”;
?> [/code]

ka obs so klappt ( wegen des GET parameters…), arbeite nie mit mod_rewrite :confused: weiß nur das es so möglich ist ( irgendwie^^)

evtl helfen dir ja noch andere =)

mod_rewrite ist nicht zwingend notwendig (sieht nur schöner aus). Man kann auch einfach eine php Datei mit GET Parametern als Bildquelle angeben (<img src=“bild.php?id=123” … />).

Was mich an dem script von Hardi stört ist die ungeprüfte eingabe des GET Parameters… man könnte einfach “datei=…/config.php” eingeben, und würde dann auch diese datei erhalten, wenn sie existiert (und damit logischerweise auch die gesamten enthaltenen Informationen wie Passwörter etc.).

Was man noch hinzufügen sollte wäre eine Abfrage des “If-Modified-Since” Headers, welcher vom Client gesendet wird (von den meisten jedenfalls).
So kann man den Cache des Clients nutzen, damit Bilder nicht mehrfach geladen werden, was beim benutzen von readfile (und ähnliches) per PHP der Fall wäre.

Edit:
Was das Zugriffdatum angeht, kannst du dann ja mit php irgendwo anders (wie chrisb schon in seinem ersten Beitrag geschrieben hat und Hardi später auch) abspeichern. Zum Beispiel in einer Datenbank oder simple Textdateien.

mfg Balmung

oh ja das wäre böse :-o, da muss aufjedenfall noch ne überprüfung hin

naja ich habs jetzt mal getestet: das problem: er will jetzt das ich das bild speicher :S
wie bekommt man es den hin das er das bild im browser anzeigt?

ädit: ich habs, vergessen hirn zunutzen aber google hilft einem da ja
kann ja schelcht nen bild ausgeben wenn ich nen file habe :smiley:

<?php $img = imagecreatefromjpeg('bild.jpg'); header('Content-type: image/jpeg'); header('Content-disposition: inline; filename="mein_bild.jpg"'); imagejpeg($img); ?>
hoffe das tut nacher, im moment werd ich den cache net los -> im ie tuts aber :smiley:

[quote=“Hardi”]naja ich habs jetzt mal getestet: das problem: er will jetzt das ich das bild speicher :S
wie bekommt man es den hin das er das bild im browser anzeigt?[/quote]
Passenden Content-Type-Header ausgeben lassen.

jo danke =)
habs jetzt auch selber entdeckt :smiley:

[quote=“Hardi”]<?php $img = imagecreatefromjpeg('bild.jpg'); header('Content-type: image/jpeg'); header('Content-disposition: inline; filename="mein_bild.jpg"'); imagejpeg($img); ?> [/quote]
Ein jpeg-Bild in ein jpeg-Bild umzuwandeln ist wohl ein wenig unsinnig.
Besser wäre die Verwendung von getimagesize und somit den richtigen Content-Type gleich von vornherein zu verwenden, ohne großartig das Dateiformat zu verändern (man müsste ohnehin erst den Bildtyp mit getimagesize() ermitteln um herauszufinden ob man imagecreatefromjpeg() oder imagecreatefrompng() etc. verwenden soll).

mfg Balmung