Algemeen forum ontrent de ontwikkelng, design en hosting van weergerelateerde websites (dit laatste om een beetje on topic te blijven)
Door forsurh
#35203
Het volgende doet zich voor:

Via FTP stuurt Weather Display een plaatje naar de site. Op de site wordt deze geladen, echter als er iets fout is gegaan met de upload, en dus het plaatje niet aanwezig is komt er een heel mooi kruisje op je site.

Natuurlijk is dit te cachen via een script, zodat de laaste goede altijd voorhanden is, en dus ingaladen wordt.

Echter, hoe doe je dit? Ik heb wel iets kennis van PhP, maar ook weer niet genoeg om zelf dit hele script te schrijven.

Wie help mij een eindje op weg?

Groeten,
Wisse

www.weerstation-grootegast.nl
Door wslangerak
#35205
Hallo Wisse,

WD heeft ook een voorziening om dit te voorkomen. Ik weet niet of je die optie aan hebt staan en of het in jouw geval voldoende is.

Ga naar Control panel > FTP & Connections ... > Tabblad Connections.

Daar zie je vrij onderaan links de optie "Rename the file on the server after uploading".

De bestaande file (plaatje of iets anders) blijft tot na de geslaagde upload onaangeraakt. Pas na de upload wordt de naam overschreven.

Misschien de oplossing?
Door forsurh
#35220
Kees,

Het zou een goede oplossing zijn, echter onstaan er op de server alleen *Temp files. De file wordt dus niet overschreven.

Gevolg is dat de site oude bestanden blijft laden.

Heb je hier ook een oplossing voor?
Door Luc
#35223
Als je het plaatje aanroept in HTML, plak dan een unieke parameter aan je plaatje, zodat de url uniek wordt. Bijvoorbeeld door een datum/tijd toe te voegen. De url is dan altijd uniek. Het plaatje kan dan altijd dezelfde bestandsnaam hebben.

Bijvoorbeeld:

Code: Selecteer alles
<img src="http://www.hetweeractueel.nl/images/fbfiles/avatars/s_64.jpg?time=1304508622" alt="plaatje"/>


in plaats van:

Code: Selecteer alles
<img src="http://www.hetweeractueel.nl/images/fbfiles/avatars/s_64.jpg" alt="plaatje"/>


Omdat de bovenste altijd uniek is, zal de browser dit plaatje niet cachen.

Gr,
Luc
Door Oebele
#35229
Een alternatief plaatje tonen als er iets misgaat is ook een mogelijkheid
Deze functie zit ook in jquery http://jquery.com/

Met het onderstaande Java Script roep je dan het alternatieve plaatje op.
Let wel op dat dit alternatief dan voor elk plaatje gebruikt wordt.



In het tekstbestand staat het Java Script

Het kan ook eenvoudiger met deze code maar dit is niet W3C Valid:
Code: Selecteer alles
onerror="this.src='Storing.png';"
Bijlagen
(272 Bytes) 222 keer gedownload
Door forsurh
#35271
Luc schrijft:
Als je het plaatje aanroept in HTML, plak dan een unieke parameter aan je plaatje, zodat de url uniek wordt. Bijvoorbeeld door een datum/tijd toe te voegen. De url is dan altijd uniek. Het plaatje kan dan altijd dezelfde bestandsnaam hebben.

Bijvoorbeeld:

Code: Selecteer alles
<img src="http://www.hetweeractueel.nl/images/fbfiles/avatars/s_64.jpg?time=1304508622" alt="plaatje"/>


in plaats van:

Code: Selecteer alles
<img src="http://www.hetweeractueel.nl/images/fbfiles/avatars/s_64.jpg" alt="plaatje"/>


Omdat de bovenste altijd uniek is, zal de browser dit plaatje niet cachen.

Gr,
Luc


Maar dat lost toch niet het probleem op? Hiermee zorg je ervoor dat je browser altijd een plaatje inlaadt, en niet een uit z'n cache.

Mijn probleem is juist dat tijdens de regelaire FTP upload het plaatje eerst gewist wordt, daarna wordt de nieuwe neergezet door WD, en dat gaat wel eens mis.

Of zie ik het verkeerd Luc?
Door wslangerak
#35272
forsurh schrijft:
Kees,

Het zou een goede oplossing zijn, echter onstaan er op de server alleen *Temp files. De file wordt dus niet overschreven.

Gevolg is dat de site oude bestanden blijft laden.

Heb je hier ook een oplossing voor?

WD upload het vernieuwde plaatje als temp-file. Is die upload gelukt (en alleen dan) wordt de file hernoemd naar de naam die normaal gebruikt wordt. Op dat moment wordt het oude plaatje overschreven door het nieuwe. Als de upload mislukt blijft het oude plaatje bestaan, de "nieuwe" temp-file is niet compleet, maar is niet zichtbaar op de site.
Zo hoort het in ieder geval te gaan.
Door forsurh
#35299
wslangerak schrijft:
forsurh schrijft:
Kees,

Het zou een goede oplossing zijn, echter onstaan er op de server alleen *Temp files. De file wordt dus niet overschreven.

Gevolg is dat de site oude bestanden blijft laden.

Heb je hier ook een oplossing voor?

WD upload het vernieuwde plaatje als temp-file. Is die upload gelukt (en alleen dan) wordt de file hernoemd naar de naam die normaal gebruikt wordt. Op dat moment wordt het oude plaatje overschreven door het nieuwe. Als de upload mislukt blijft het oude plaatje bestaan, de "nieuwe" temp-file is niet compleet, maar is niet zichtbaar op de site.
Zo hoort het in ieder geval te gaan.


Vergt dat ook een andere instelling op de server? Want dan ga je een bestand hernoemen en vaag heb ik iets in mijn achterhoofd dat sommige servers daar moeilijk over doen...

Of zie ik spoken.:blink:

Edit:

het blijven temp files op de server, geen enkele file wordt vervangen