 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
21.04.2004, 21:28
|
#1
|
|
TP-Senior
Registriert seit: Jan 2003
|
bild überschreiben
nabend zusammen
hab da mal ne frage. Und zwar hab ich ein formular in welchem man versch. daten ändern kann. läuft auch alles wunderbar.
jetzt soll man aber auch ein vorhandenes bild ersetzen können.
bisher sieht das so aus:
PHP-Code:
if(isset($loadfile)){
if(file != "../images/error.gif"){
if(unlink("../images/".$kategorie."/".$artnr.".jpg")){
echo "gelöscht";
}else{
echo "nicht gelöscht";
}
}
$path = $_SERVER['DOCUMENT_ROOT']."/neu/images/".$kategorie."/";
if(move_uploaded_file($_FILES["loadfile"]["tmp_name"], $path.$artnr.".jpg")){
echo "oben";
}else{
echo "nicht oben";
}
}
aber leider leider, bleibt immer das alte bild drin.
angenommen, es ist noch kein bild vorhanden so erscheint ersatzweise ein bild namens error.gif. wenn das bild oben ist, welches nicht gelöscht wird gehts, dann is das neue bild danach oben. nur wenn davor schon eins da war, gehts nicht. verstehs nicht.
bekomm aber immer korrekte echos zurück (gelöscht, oben) .
thx for help
schönen abend
oli
|
|
|
21.04.2004, 21:54
|
#2
|
|
TP-Senior
Registriert seit: Jan 2003
|
blicks grad nicht ganz.
warum wird das thema als beantwortet angezeigt?
die frage existiert nach wie vor.
|
|
|
21.04.2004, 22:05
|
#3
|
|
TP-Moderator
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
|
Ich hab mal den Status geändert (hättest du auch selber machen können  ).
Bist du dir bei deinem Problem sicher, ob die Pfade beide die gleichen sind? Warum benutzt du nicht ein und die selbe Variable für deinen Pfad? Das würde das ganze schonmal transparenter machen.
Gruss
Jan
|
|
|
21.04.2004, 22:22
|
#4
|
|
TP-Senior
Registriert seit: Jan 2003
|
hi,
ja, die pfade sind die selben, hab das nur so gemacht weil ich nen teil per copy&paste aus der datei kopiert hab in welcher das bild beim anlegen hochgeladen wird.
aber auch so:
PHP-Code:
if($loadfile != ""){
if(file != "../images/error.gif"){
if(unlink("../images/".$kategorie."/".$artnr.".jpg")){
echo "gelöscht";
}else{
echo "nicht gelöscht";
}
}
if(move_uploaded_file($_FILES["loadfile"]["tmp_name"], "../images/".$kategorie."/".$artnr.".jpg")){
echo "<script type=\"text/javascript\">eingetragen();</script>";
}else{
echo "nicht oben";
}
}
hab ich das gleiche problem.
liegt irgendwie daran das sich der unlink und der neue upload überschneiden. weil wenn ich nur einen der beiden befehle ausführ gehts.
kann ich mir nicht im normalfall sogar den unlink schenken?
die datei wird doch normal einfach überschrieben, wenn sie davor mit gleichem namen shcon existiert.
OK!!!
hab grad gemerkt das dass doch woanders hebt. und zwar, wenn ich in meinem ftp client mal den ordner refresh in dem das bild liegt, oder einfach auf der seite mal aktualisier, wird das neue angezeigt.hmmmmmmmmmmm,.............
jetzt bin ich noch verwirrter
Geändert von olist (21.04.2004 um 22:42 Uhr).
|
|
|
21.04.2004, 22:48
|
#5
|
|
TP-Senior
Registriert seit: Jan 2003
|
und nochmal
habs jetzt so:
PHP-Code:
if($loadfile != ""){
$path = $_SERVER['DOCUMENT_ROOT']."/neu/images/".$kategorie."/";
if(move_uploaded_file($_FILES["loadfile"]["tmp_name"], $path.$artnr.".jpg")){
echo "<script type=\"text/javascript\">eingetragen();</script>";
}else{
echo "nicht oben";
}
}
wenn ich jetzt das bild hochlad. bleibt wie gehabt das alte da. refresh ich jedoch mein image/$kategorie ordner per ftp is das neue da. sprich da steht z.b. 2400jpg 22:44 und dann 2400.jpg 22:46 danach. oder wenn ich per F5 die seite aktualisier wird auch das neue angezeigt. kanns sein das dass temporär noch wo liegt und er sichs dann erst holt? wie kann ich das änder?
|
|
|
21.04.2004, 23:24
|
#6
|
|
TP-Moderator
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
|
Kann es sein, dass die Bildausgabe VOR dem "aktuallisierungs-Code" passiert? Und daher beim ersten mal das alte Bild gezogen wird? Anders kann ich es mir nocht vorstellen...
Gruss
Jan
|
|
|
21.04.2004, 23:28
|
#7
|
|
TP-Senior
Registriert seit: Jan 2003
|
hi jan,
ne.
sieht so aus:
PHP-Code:
<body>
<?php
require_once("../db.php");
server_connect();
if($loadfile != ""){
$path = $_SERVER['DOCUMENT_ROOT']."/neu/images/".$kategorie."/";
move_uploaded_file($_FILES["loadfile"]["tmp_name"], $path.$artnr.".jpg");
}
danach kommt erst der rest. keine ahnung bin total verwirrt. komm nicht dahinter. das scheint wohl irgendwo noch im tmp zu hängen. sehen kann ichs da aber nicht.
|
|
|
21.04.2004, 23:42
|
#8
|
|
TP-Moderator
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
|
Scheint am Cache vom Client zu liegen...
Probier mal folgendes bei der Ausgabe:
PHP-Code:
echo "../images/".$kategorie."/".$artnr.".jpg?t=".time();
Gruss
Jan
|
|
|
21.04.2004, 23:48
|
#9
|
|
TP-Senior
Registriert seit: Jan 2003
|
hoff das hast du so gemeint.
bekomm dann im quelltext das zu sehen:
<img src="
../images/men_tees/33333.jpg?t=1082583951../images/men_tees/33333.jpg" width="160" height="240"><br>
komisch komisch.
kanns sein da hebt was am server?
hab da auch ne zeitausgabe irgendwo drin, super simpel:
PHP-Code:
<?php echo date("d.m.Y - H:m:s");?>
und die zeigt die ganze zeit 23:04 an. nur die sekunden ändern sich bei nem refresh, der rest bleibt. sprich da steht z.B.
23:04:05, 23:04:32, 23:04:55, 23:04:03, 23:04:25...... usw......
|
|
|
21.04.2004, 23:51
|
#10
|
|
TP-Moderator
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
|
Zitat:
Original geschrieben von olist
hoff das hast du so gemeint.
bekomm dann im quelltext das zu sehen:
<img src="
../images/men_tees/33333.jpg?t=1082583951../images/men_tees/33333.jpg" width="160" height="240"><br>
|
...kann nicht sein... Es darf nur der timestamp hiner hängen... sobald der anders ist, zwingt man den Browser dazu das dokument erneut anzufordern und nicht aus dem Cache zu ziehen.
|
|
|
21.04.2004, 23:57
|
#11
|
|
TP-Senior
Registriert seit: Jan 2003
|
stimmt, mein fehler.
da steht
neu/images/men_tees/33333.jpg?t=1082584570
hatte das echo ausversehen über meine bildausgabe gelegt.
aber schlau werd ich da nicht draus.
ich weiß zwar was der timestamp ist und was er mir ausgibt, aber versteh grad nicht wie mir die info helfen kann.
aber bin immer bereit neues zu lernen. selbst zu so später stunde
bzw. wenn sich das auf die ausgabe der zeit bezieht is klar.
aber versteh nicht was das mitm bild zu tun hat.
*amkopfkratzundnenschluckteetrink*
hoffe du weißt rat 
Geändert von olist (22.04.2004 um 00:01 Uhr).
|
|
|
22.04.2004, 00:06
|
#12
|
|
TP-Moderator
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
|
Es klappt doch?!
Wie schon geschrieben, gauckelt man so dem Browser vor, dass ein "neues" Dokument angefordert werden soll... da das im Cache ja einen alten timestamp hinten dran hängen hat... Für den Browser ist es somit bei jedem Seitenaufruf ein "anderes" Dokument, welches er anfordert... und da er "dieses" ja noch nicht kennt, läd er es neu anstatt den Cache zu benutzen.
image.jpg?t=1 ist nicht image.jpg?t=2 ...klar?
Gruss
Jan
|
|
|
22.04.2004, 00:10
|
#13
|
|
TP-Senior
Registriert seit: Jan 2003
|
alles klar, habs garnicht versucht, dachte die ausgabe der zeit sagt uns irgendwas und nicht das dass damit schon geht
perfekt. gewusst wie. man muss sich nur zu helfen wissen
wieder was gelernt
thx. und wünsch dir noch ne angenehme nacht...........
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 19:55 Uhr.
|
 |