• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Problema risolto verificare la validità dell'immagine oppure determinare l'errore 404

Pinguto

Utente Attivo
Autore del topic
10 Aprile 2010
313
39
Miglior risposta
0
.. allora.. è da tempo che mi sto bacando il cervello con questo dilemma.. allora..

come ho detto svariate volte, sono alle prese con un sistema di blog e spesso capita che il forum (mybb) a cui è appoggiato il sistema di blog, non carichi correttamente l'avatar sul server restituendo un'odioso 404 nel momento in cui richiamo l'immagine.. :indiavolato:

quindi dovrei verificare se l'avatar è valido o al limite che non mi restituisca un 404..:indiavolato:

al momento avevo abbozzato questo codice (funziona), ma è estremamente lento.. (la risposta dal server non me la posso far arrivare dopo 15-20 secondi di attesa.. è una cosa inammissibile a mio parere..)
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

la mia soluzione andrebbe benone se dovrei controllare un solo avatar o poche decine, ma in ogni pagina ci possono essere 200-300 avatar e la funzione citata sopra manda in crisi il server.. :tristezza:

idee?
PS:- grazie a tutti coloro che risponderanno.. :-D
 
Ultima modifica:
Riferimento: verificare la validità dell'immagine oppure determinare l'errore 404

.. è estremamente lento ..

Puoi provare impostando un timeout di 1 o 2 secondi con

PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

applicandolo alla file_get_contents così

PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

... se dovrei ...

se dovessi

PS:- grazie a tutti coloro che risponderanno.. :-D

Prego
 
Riferimento: verificare la validità dell'immagine oppure determinare l'errore 404

Puoi provare impostando un timeout di 1 o 2 secondi con

PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

applicandolo alla file_get_contents così

PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
come idea non è male.. ma.. ma.. con 300 avatar nella pagina il timeout totale schizzerebbe a 300 secondi nella peggior ipotesi, ovvero 5 minuti contro i 20 secondi effettivi di eseguzione rendendo nulla la pillola.. ^^

avevo pensato..
Soluzione 1:- aprire il file e verificare se è presente il tag BODY, HTML.. ovvero, se esistono, tale file è una pagina html ( ovvero una pagina di errore 404 ) e se non esistono, andando per esclusione, è un'immagine.. :mmm:

Soluzione 2 [che attuerò se non si trova nessun'escamotage per risolvere l'inghippo]:- scrivere un modulo per l'upload degli avatar deciente e sostituirlo a quello di MYBB, ma se si verificano degli errori nell'upload ci ritroviamo nel punto di partenza.. qwe

per la soluzione 1 avevo già tentato qualcosa, ma non riuscivo a mettere a variabile il contenuto del file senza ricorrere al file_get_contents, cosa che volevo evitare vista la sua lentezza..
--------------- AGGIUNTA AL POST ---------------
.... al momento ho risolto con..
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
praticamente, se la funzione fallisce, genera il NO-AVATAR :facepalm:

.. si sente navigando nel sito che il server fatica, ma è ABBASTANZA rapido in confronto alla soluzione precedente.. (in un secondino d'attesa elabora quasi tutti i 200-300 avatar.. :-D)

questa è una soluzione provvisoria, poi, con questa funzione, verificherò TUTTI gli avatar degli utenti sostituendo quelli errati con l'immagine di default e poi applicherò la funzione al modulo dell'upload rimuovendo il controllo dalle pagine, così verificherò la validità dell'immagine solo all'upload senza star a far controlli su controlli dopo aver estratto l'URL dal database.. :gururun:

grazie gente e scusatemi del disturbo.:-D.
 
Ultima modifica:
Riferimento: verificare la validità dell'immagine oppure determinare l'errore 404

@ShakeIT.. la funzione file_exists è alquanto allettante, ma il file esiste SEMPRE perchè se non esiste il server mi carica una pagina HTML con scritto "siamo spiacenti, ma la pagina non esiste e bla.. bla.. bla.."

PS:- grazie del supporto che mi stai dando.. :-D
 
Riferimento: verificare la validità dell'immagine oppure determinare l'errore 404

E' ovvio che la risposta del server sia così lenta, perchè la funzione file_get_contents() è lunga da eseguire.

I casi sono due:
- risolvi il problema di MyBB
- non risolvi il problema ma lo "nascondi" soltanto

Domanda: in caso non ci sia l'avatar, il browser viene indirizzato ad una pagina tipo /inc/404.html oppure rimani sempre a /avatar/utenteacaso.php ma compare l'errore 404?
 
Riferimento: verificare la validità dell'immagine oppure determinare l'errore 404

I casi sono due:
- risolvi il problema di MyBB [non posso scappare, quindi prima o poi lo farò..]
- non risolvi il problema ma lo "nascondi" soltanto [è quello che sto tentando di fare..]

Domanda: in caso non ci sia l'avatar, il browser viene indirizzato ad una pagina tipo /inc/404.html oppure rimani sempre a /avatar/utenteacaso.php ma compare l'errore 404?
Ciao fossa.. per la tua domanda, non è nessuno dei due casi.. :-D

esempio stupido.. :-D

questo è un'avatar "buono"
HTML:
Perfavore, Entra oppure Registrati per vedere i codici!
ma se lo sostituisco con uno "cattivo"
HTML:
Perfavore, Entra oppure Registrati per vedere i codici!
non viene visualizzato "niente".. il risultato varia browser a browser poichè al posto dell'avatar il server fa caricare una pagina HTML, ovvero questa..
Perfavore, Entra oppure Registrati per vedere i Link!

e nel caso dell'avatar "cattivo" volevo far apparire un'immagine di riserva.. :emoji_slight_smile:
--------------- AGGIUNTA AL POST ---------------
comunque, scopiazzando un po di script in rete e con qualche aggiunta personale, ho buttato giù questo file..
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
lui fa tutti i controlli che deve fare e se l'operazione va a buon fine setta l'immagine uppata come l'avatar dell'utente.. :-D
spero che questo script possa tornar comodo a tutti gli utilizzatori di MYBB, ringrazio coloro che hanno partecipato a questa discussione e se non si trova un modo "veloce" per verificare che l'immagine esista veramente nel momento dell'estrazione dell'url dal database, possiamo considerare il problema come risolto..:-D

comunque mi farebbe piacere venir a capo di quel problema posto nel primo post.. ^^
 
Ultima modifica:
Riferimento: verificare la validità dell'immagine oppure determinare l'errore 404

@Pinguto hai modificato il .htaccess?
si.. ho seguito uno dei tanti tutorial in rete che descrivono come car caricare una pagina HTML personalizzata in caso di errore 404..

al limite potevo eliminare quella "riga di troppo" nel htaccess, ma dopo mi scoccia se appare all'utente la schermata del 404 del server.. quasi tutti i servizi ormai hanno una pagina 404 personalizzata.. :cry:
 
Riferimento: verificare la validità dell'immagine oppure determinare l'errore 404

si.. ho seguito uno dei tanti tutorial in rete che descrivono come car caricare una pagina HTML personalizzata in caso di errore 404..

al limite potevo eliminare quella "riga di troppo" nel htaccess, ma dopo mi scoccia se appare all'utente la schermata del 404 del server.. quasi tutti i servizi ormai hanno una pagina 404 personalizzata.. :cry:
Lo so, ma a questo punto la soluzione più ottimale è risolvere il problema di MyBB.

Controlla di aver dato i permessi di scrittura alla cartella /avatar del forum.
 
Riferimento: verificare la validità dell'immagine oppure determinare l'errore 404

Lo so, ma a questo punto la soluzione più ottimale è risolvere il problema di MyBB.

Controlla di aver dato i permessi di scrittura alla cartella /avatar del forum.
la cartella è scrivibile, solo che se l'avatar è più grande del dovuto, MyBB segna l'avatar come caricato, ma non lo carica affatto.. |=O

ciò ho risolto facendo far da ora in poi l'upload degli avatar con il file PHP riportato sopra e sembra funzionare.. :-D

per correggere il burg di mybb ci sarei diventato pazzo.. per me i file del forum sono scritti in aramaico.. |=O

non so come funziona qui.. ma nel file PHP che ho scritto per l'upload degli avatar ci sarebbe solo un piccolo problema, poichè in alcuni casi la memoria allocata del server "non basta" facendo apparire un'odioso messaggio di errore di PHP... la domanda la faccio qui per la risoluzione essendo sempre "legato all'argomento" o devo fare un'altro tipics? :emoji_slight_smile:
 
Ultima modifica:
Riferimento: verificare la validità dell'immagine oppure determinare l'errore 404

la cartella è scrivibile, solo che se l'avatar è più grande del dovuto, MyBB segna l'avatar come caricato, ma non lo carica affatto.. |=O

ciò ho risolto facendo far da ora in poi l'upload degli avatar con il file PHP riportato sopra e sembra funzionare.. :-D

per correggere il burg di mybb ci sarei diventato pazzo.. per me i file del forum sono scritti in aramaico.. |=O

non so come funziona qui.. ma nel file PHP che ho scritto per l'upload degli avatar ci sarebbe solo un piccolo problema, poichè in alcuni casi la memoria allocata del server "non basta" facendo apparire un'odioso messaggio di errore di PHP... la domanda la faccio qui per la risoluzione essendo sempre "legato all'argomento" o devo fare un'altro tipics? :emoji_slight_smile:
Falla sempre qui ;)
Che hosting usi?

Comunque sia se MyBB non caricava gli avatar oltre al limite, potresti creare un controllo precedente delle dimensioni in PHP.
Se è entro i limiti -> MyBB lo carica; altrimenti -> errore.
 
Riferimento: verificare la validità dell'immagine oppure determinare l'errore 404

@XFossaDeiLeoniX sono su altervista.. per una beta di un sito non credo che possa esser "tanto intelligente" comprarsi un server all'ultima moda quando non si sa nemmeno se il tutto funzionerà..
comunque ecco uno screen dell'errore.. e l'immagine caricata era una jpg da 2.30Mb.. :look:

Perfavore, Entra oppure Registrati per vedere i Link!
 
Ultima modifica:
Riferimento: verificare la validità dell'immagine oppure determinare l'errore 404

@XFossaDeiLeoniX sono su altervista.. per una beta di un sito non credo che possa esser "tanto intelligente" comprarsi un server all'ultima moda quando non si sa nemmeno se il tutto funzionerà..
comunque ecco uno screen dell'errore.. e l'immagine caricata era una jpg da 2.30Mb.. :look:

Perfavore, Entra oppure Registrati per vedere i Link!
Hai provato ad aumentare la memoria disponibile?

Altervista ha delle specie di "livelli".
 
Riferimento: verificare la validità dell'immagine oppure determinare l'errore 404

Hai provato ad aumentare la memoria disponibile?

Altervista ha delle specie di "livelli".
sul disco ho 150 mega liberi ancora e nel pannello non c'è nessuna opzione che limiti ciò.. :look:
quando appare quell'errore l'immagine viene uppata, ma non ridimensionata.. :look:
ma in locale lo script digerisce anche png di 6 mega.. :look:
 
Ultima modifica:
Riferimento: verificare la validità dell'immagine oppure determinare l'errore 404

sul disco ho 150 mega liberi ancora e nel pannello non c'è nessuna opzione che limiti ciò.. :look:
quando appare quell'errore l'immagine viene uppata, ma non ridimensionata.. :look:
ma in locale lo script digerisce anche png di 6 mega.. :look:
Allora c'è qualcosa che interferisce. Plugin di MyBB ne hai?
 
Riferimento: verificare la validità dell'immagine oppure determinare l'errore 404

ho google SEO, PluginLibrary (5) e Thank You/Like System.. ho anche altre porcherie, ma quelle me le son fatte da me e non ho impostato nessun limite alla memoria.. :look:

sarà un'impostazione strana di altervista.. :look:

comunque al momento ho tagliato la testa al toro facendo al limite caricare immagini di 500Kb anzichè 4 mega.. :look:

grazie di tutto fossa per il supporto che mi dai.. :-D
 
Riferimento: verificare la validità dell'immagine oppure determinare l'errore 404

ho google SEO, PluginLibrary (5) e Thank You/Like System.. ho anche altre porcherie, ma quelle me le son fatte da me e non ho impostato nessun limite alla memoria.. :look:

sarà un'impostazione strana di altervista.. :look:

comunque al momento ho tagliato la testa al toro facendo al limite caricare immagini di 500Kb anzichè 4 mega.. :look:

grazie di tutto fossa per il supporto che mi dai.. :-D
Bè quello è già un passo avanti :emoji_relieved:

Hai provato a disattivare temporaneamente tutto e provare?

P.S. Comunque a questo punto sposto in MyBB.
 
Riferimento: verificare la validità dell'immagine oppure determinare l'errore 404

Bè quello è già un passo avanti :emoji_relieved:

Hai provato a disattivare temporaneamente tutto e provare?

P.S. Comunque a questo punto sposto in MyBB.
.. si.. ho provato ed il problema persiste se riporto il limite a 4 mega.. qwe

comunque io mi accontento anche se mi carica al massimo immagini di 500kb.. tanto devono esser sfruttate come avatar.. |=O
 
Ultima modifica:
Riferimento: verificare la validità dell'immagine oppure determinare l'errore 404

.. si.. ho provato ed il problema persiste se riporto il limite a 4 mega.. qwe

comunque io mi accontento anche se mi carica al massimo immagini di 500kb.. tanto devono esser sfruttate come avatar.. |=O
Che modifiche manuali hai apportato tu?