+ Rispondi alla Discussione
Risultati da 1 a 8 di 8

Creo l'immagine e subito dopo la voglio visualizzare: non sempre funge

Ultimo Messaggio di fabioski il:
  1. #1
    Banned L'avatar di fabioski
    Data Registrazione
    May 2005
    Messaggi
    862

    Creo l'immagine e subito dopo la voglio visualizzare: non sempre funge

    Codice:
    <?
    // adesso creiamo la thumbnail!!!
    echo "<img border=\"0\" src=\"upload-createthumb-upload.php?l=140&src=../skiforum/upload/".$categoria_foto."/".$nome1."&categoria=".$categoria_foto."&nomefoto=".$nome1."\">";
    echo "thumbnail creata";
    ?>
    <p>Questa &egrave; la foto che hai appena caricato:</p>
    <p><img border="0" src="upload/<?php echo"$cat_upload"; ?>/preview/<?php echo "$nome1"; ?>"></p>
    - Faccio caricare una foto.
    - Con la funzione: upload-createthumb-upload.php creo una piccola anteprima.
    - Questa anteprima la faccio visualizzare subito dopo.
    - L'anteprima viene sempre creata PERO' nella pagina che contiene il codice seguente non viene sempre visualizzata.

    Ho il dubbio che succeda questo:
    l'anteprima viene chiamata prima che la funzione upload-createthumb-upload.php abbia effettivamente creato e messo nella cartella prevista l'immagine.

    Che soluzioni mi consigliate?
    Posso mettere, che ne so, un secondo di pausa appena dopo la chiamata della funzione che mi crea l'anteprima?

    Il problema mi pesa perch l'utente non vedendo la fotina mi fa a"aggiorna la pagina" e questa mi carica sul server una seconda, terza,... volta la stessa identica foto. Ecco, secondo dubbio OT rispeto la mia richiesta principale, come posso vietare di fare il refresh della pagina?

  2. #2
    User Attivo L'avatar di probid
    Data Registrazione
    Aug 2006
    Localit
    Foligno (PG)
    Messaggi
    1,822
    Potresti mettere il contenuto del file upload-createthumb-upload.php in una funzione chiamata createthumb(),cos come lo script che visualizza l'immagine (funzione mostrathumb())
    Successivamente potresti richiamare prima la funzione createthumb e successivamente la funzione mostrathumb().
    In alternativa puoi mettere una pausa prima della visualizzazione dell'immagine cos:

    Codice PHP:
    <? sleep(1);?>
    Moderatore in pensione

  3. #3
    Banned L'avatar di fabioski
    Data Registrazione
    May 2005
    Messaggi
    862
    Codice:
    // adesso creiamo la thumbnail!!!
    echo "<img border=\"0\" src=\"upload-createthumb-upload.php?l=140&src=../skiforum/upload/".$categoria_foto."/".$nome1."&categoria=".$categoria_foto."&nomefoto=".$nome1."\">";
    echo "thumbnail creata";
    // Ferma lo script per 2 secondi
    sleep(2);
    ?>
    <p>Questa &egrave; la foto che hai appena caricato:</p>
    <p><img border="0" src="upload/<?php echo"$cat_upload"; ?>/preview/<?php echo "$nome1"; ?>"></p>
    <?
    Ho aggiunto lo sleep di ben due secondi e su tre foto caricate per 2 mi ha visualizzato l'anteprima mentre per la terza, proprio quando mi stavo convincendo di aver risolto il problema non me l'ha visualizzata.

    Sto usando firefox. La cosa dipende dal browser?

    Ieri su 40 foto caricate mi ha visualizzato l'anteprima per tutte... (sempre con firefox)

  4. #4
    Banned L'avatar di fabioski
    Data Registrazione
    May 2005
    Messaggi
    862
    <style type="text/css">
    .nodisp {
    display: none;
    }
    </style>
    come mai che con il browser OPERA non mi viene creata l'immagine di anteprima che con gli altri browser ottengo sftuttando questo codice?
    Codice:
    <?
    // adesso creiamo la thumbnail!!!
    echo "<div class=\"nodisp\">\n";
    echo "<img border=\"0\" src=\"uploads-createthumb-upload.php?l=140&src=../skiforum/upload/".$categoria_foto."/".$nome1."&categoria=".$categoria_foto."&nomefoto=".$nome1."\">\n";
    echo "thumbnail creata";
    echo"</div>\n";
    // Ferma lo script per 2 secondi
    //sleep(2);
    ?>
    Pu essere che il display:none faccia si che OPERA non mi attivi la funzione richiamata in quel div.

    Se si, come posso non far apparire al visitatore la crocetta rossa di immagine mancante che tale funzione mi genera?

  5. #5
    User Attivo
    Data Registrazione
    Dec 2004
    Localit
    abito sulla luna e ogni volta che mi telefono un'interrurbana
    Messaggi
    2,413
    puoi modificare lo script in modo che visualizzi l'immagine solamente dopo aver fatto il controllo di esistenza del file.

    p.s. non ho il link ad una pagina di esempio per poter controllare ma tra tutti quei parametri sicuro che non passi anche il nome del file con il quale viene creata la fotografia?

    in caso tu passi anche il nome di destinazione attento perch con una semplicissima modifichina all'url si potrebbero generare sul tuo server migliaia di fotografie saturandoti lo spazio su disco disponbile.


  6. #6
    Banned L'avatar di fabioski
    Data Registrazione
    May 2005
    Messaggi
    862
    Problema risolto. Con Opera la direttiva DISPLAY: NONE da problemi.
    Usando:
    Codice:
    <style type="text/css"> 
    .hidden	{
    	position:absolute;
     	left:0px;
     	top:-500px;
     	width:1px;
     	height:1px;
     	overflow:hidden;
     	}
    </style>
    Anche Opera mi crea l'anteprima.

    Commenti al post precedente.
    Il controllo del file esistente o meno lo faccio per thumbnail nelle pagine del sito.

    Mi hai suggerito un OTTIMO CONTROLLO.
    Per evitare che qualcuno mi faccia creare l'anteprima delle SUE immagini nel MIO spazio applicher la creazione delle preview SOLAMENTE SE la foto da rimpicciolire presente in una cartella del mio spazio.

    Quindi ora mi metto al lavoro ed affino ulteriormente lo script con la condizione:

    if (preview non ancora esistente){
    if (la foto grande nella posizione del mio spazio...) {
    CREO



    A proposito. Come faccio a dire allo script:
    se la foto nel mio spazio procedi oppure fermarti e stampa (foto non presente nel mio spazio)

  7. #7
    User Attivo
    Data Registrazione
    Dec 2004
    Localit
    abito sulla luna e ogni volta che mi telefono un'interrurbana
    Messaggi
    2,413
    if file_exists(nomefiledatrattare)

    il problema definire tu da script il nome del file di destinazione e non passarlo come parametro altrimenti appena scopro l'url della tua pagina faccio uno script di questo tipo:

    for ($i=0;$i<10000;$i++)
    pagina.php?destinazione=$i;


  8. #8
    Banned L'avatar di fabioski
    Data Registrazione
    May 2005
    Messaggi
    862
    i parametri li passo via url per ho fatto questo controllo.
    ottengo il nome del file che tu vuoi usare per creare l'anteprima nel mio server, controllo che questo file sia sul MIO spazio.
    Se cos non non ti creo la preview.

    Al massimo qualcuno potrebbe divertirsi e farmi creare le anteprima di tutte le foto presenti nel mio sito. Magari in continuazione...
    Mmmm, brutta cosa.
    Cosa succede se dico al server di creare la stessa immagine che gi esiste?

+ Rispondi alla Discussione

Tag per Questa Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] Attivato
  • Il codice [VIDEO] Attivato
  • Il codice HTML Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.