von Andreas S |
Versuchs mal so:
1:
2:
3:
4:
5:
6:
7:
8:
9: | <?php
if((file_exists(getcwd() . "/images/webcam.jpg") == false) || (filesize(getcwd() . "/images/webcam.jpg") < 1024)){
echo "<img src="images/webcam_e.jpg" height=240 width=320 border=0>";
echo "<br>Last updated: " . date("H:i - d M Y", filemtime(getcwd() . "/images/webcam.jpg"));
} else {
echo "<img src="images/webcam.jpg" height=240 width=320 border=0>";
echo "<br>Last updated: " . date("H:i - d M Y", filemtime(getcwd() . "/images/webcam.jpg"));
}
?> |
Den Pfad "images/" etc. musst du ggf. noch ändern. |
von weisseweste |
war wohl zu euphorisch ... es gibt zwar keine Fehlermeldung mehr, aber das Datum ist falsch....
bei "last updated-Anzeige" des Ersatzbildes (webcam_e.jpg) wird das Speicherdatum des Ersatzbildes angezeigt und nicht mehr das uploaddatum des echten Bildes (webcam.jpg) ...
So kann ich dann eigentlich kein Ersatzbild wählen, weil sonst das Datum von vor einiger Zeit (z.b.vor einem Monat) angezeigt wird.
|
von weisseweste |
....aber hm...ich weiss es jetzt
es klappt ...!!
oder was meintest Du?
|
von paul |
$filename = "webcam.jpg";
$filename .= "webcam_e.jpg";
aber hm, ich weiss nicht!
|
von weisseweste |
ich habe unter dem Bild noch eine last updated funktion, die das Datum des upgeloadeten Bildes anzeigt.
Wenn jetzt das Ersatzbild (webcam_e.jpg) geladen wird, weil das echte Bild (webcam.jpg) 0kb enthält, dann findet praktisch
$filename = "webcam.jpg";
nicht das Ersatzbild, weil das ja "webcam_e.jpg heißt.
ich müßte daher glaube ich beide Bilddateien in
$filename angeben.
Aber wie? |
von paul |
hä ? ich versteh nur bahnhof!
|
von weisseweste |
ich hab das mal ausprobiert,... das Ersatzbild erscheint aber leider gibts ne Fehlermeldung, die glaube ich mit dem "last updated" (hatte ich vorher nicht erwähnt) zusammenhängt.
Bei $filename = "webcam.jpg"; fehlt wahrscheinlich jetzt das Ersatzbild (webcam_e.jpg). Kann ich das noch irgendwie dazufügen????
Hier mal alles komplett:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25: |
<img src="<?php
if (!@getimagesize ("webcam.jpg")) {
echo "webcam_e.jpg";
}
else {
echo "webcam.jpg";
}
?>" height="240" width="320" alt="webcam"><br>
<font color="#003300"> <br>
<?php
$filename = "webcam.jpg";
$timestamp = filemtime($filename);
$date = date(dMY, $timestamp);
$hour = date(H, $timestamp);
$hour = $hour + 1;
if ($hour > 24) {
$hour = $hour - 24;
}
$time = date(a, $timestamp);
$minutes = date(i, $timestamp);
echo("Last updated: " . $hour . ":" . $minutes . " - " . $date . " (local time)");
?>
|
|
von paul |
aber genau das hat cmuecke dir doch gegeben...
du machst das dann einfach o:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11: |
<img src="<?php
if (!@getimagesize ("./img/webcambild.jpg")) {
echo "../img/ersatwebcambild.jpg"; // Bild das als Ersatz kommt
}
else {
echo "../img/webcambild.jpg"; // Bild das als Standart erscheint, wenn kein Fehler vorhanden!
}
?>" height="150" width="150" alt="webcambildoderso">
|
Also, hoffe das hilft!
Schöne Grüße!
|
von weisseweste |
hm, also der Vorschlag von cmuecke ist - sofern ich das richtig interpretiere - kein Bild Ersatz, sondern der Hinweis, dass ein Bild fehlt.
Da es sich um ein webcam bild handelt, das über Suchmaschinen täglich oft aufgerufen wird, möchte ich nicht, dass ein Hinweis auf ein fehlendes Bild kommt.
Es sind natürlich auch andere Bilder auf der Seite, die nicht ersetzt werden sollen.
Das Problem ist auch nicht, dass das Bild fehlt, sondern, das es manchmal mit 0kb hochgeladen wird (Fehler im Bildprogramm) und die uploader es eben nicht merken.
Den Ansatz von @Can finde ich nicht so schlecht, ich könnte mir das so vorstellen:
wenn Bild (webcam.jpg) 0kb, dann Bild (ersatz.jpg) laden.
Aber ob und wie das irgendwie umsetzbar ist, weiß ich nicht....
@Andreas S: danke trotzdem...
|
von Andreas S |
Der folgende Code ist nicht von mir, sondern durch ein bisschen Googeln gefunden...
.htaccess:
1:
2:
3:
4:
5: | Options +FollowSymLinks
RewriteEngine on
# Redirect missing catalog images to a default image. Let other missing resource requests 404 normally.
RewriteCond %{REQUEST_URI} !-U # if requested resource doesn't exist
RewriteRule ^catalog_image_path/.*.gif$ /default_image_path/default.gif [L] # redirect to default image |
*Edit; Habs grad gemerkt,,, der Code geht nur wenn überhaupt kein Bild existiert. Sorry. |
von cmuecke |
1:
2:
3:
4:
5: | <?php
if(!@getimagesize("./img/bild.jpg")){
echo "<p><b>Fehler 404</b></p><p>Fehler: Das Bild konnte auf dem Server nicht gefunden werden!</p>";
}
?> |
//Edit:
Mit dem Tag code sieht das viel besser aus...
---
http://sylver-web.de
Weisheiten:
- Das Wesen der Dinge hat die Angewohnheit, sich zu verbergen. - Heraklit (griech. Philosoph)
- Wären alle Menschen gleich, würde im Prinzip einer genügen. (unbekannt) |
von weisseweste |
klingt gut,
aber wie geht das genau?
hab keine Ahnung von php... |
von Can |
Du schaust, ob @getimagesize("dasbild.jpg") positiv ist, und wenn nicht, ist das Bild ungültig. Dann kannst du ein anderes verwenden.
Can |
von weisseweste |
in den bg einer zelle will ich es nicht eingeben, da sonst immer erst dieses Bild geladen wird und dann das "echte" drüber lädt. Bei den Besuchern mit einer langsamen Internet Verbindung sieht das dann nicht so toll aus.
Ich dachte da schon daran, dass nur im Falle eines "Bild Fehlers" etwas anderes dargestellt wird.
@paul: Wie meintest Du das mit der php Lösung? |
von paul |
mach das doch per html so:
in den BG in einer Tabelle einfach ein anders Bild rein machen :D
oder ?
oder per php!
|
von weisseweste |
Hallo zusammen,
gibt es so etwas wie eine error 404 page auch für Bilder?
Ich meine das so:
Es wird täglich ein Bild in einer.htm Seite aktualisiert. Manchmal kommt es vor, daß das Bild fehlerhaft ist (0kb) hat und der uploader es gar nicht merkt. Nun hat aber der Besucher der Seite einen "Bild-Fehler", also keine Darstellung.
Kann man hierfür im Quellcode oder in .htaccess ein "Ersatz-Bild" eingeben, damit wenigstens irgendein Bild dargestellt wird?
DAnke,
weisseweste |