• Bannato User Attivo

    [Risolto] Creare la thumb solo se non già esistente

    Visualizzare le thumbnail (anteprima) di una foto è possibile con le funzioni del php. Ma quando le foto da visualizzare sono tante il carico sul server che deve creare migliaia di thumbnail è eccessivo.

    E' conveniente perciò creare delle thumbnail e poi salvarle sul server. Alla chiamata successiva il server non dovrà generare la foto ma carica quella già esistente.

    Ora vorrei dei consigli.

    Vorrei creare uno script che mi fa questo:

    • apro la pagina della galleria fotografica ed inizio a visualizzare le foto,
    • lo script mi controlla la cartella /immagini/thumb/ e guarda se foto_01.jpg ha già la sua bella anteprima creata; se si allora mi carica quella anteprima, se no attiva il codice che prende la foto grande, la ridimensiona e poi salva nella cartella immagini/thumb quella anteprima

    A che punto sono.
    So generare la thumbnail. Uso una funzione che mi genera anteprima quadrate.

    Di queste non so come salvare l'anteprima come immagine fisica nel server.

    Non so come fare per fare questo:
    controllo nella cartella immagini/thumb se è presente il file dal nome foto_01.jpg in caso positivo mettimi la variabile su 1 altrimenti su 0.

    Qualcuno mi può dare delle dritte?

    GRAZIE


  • Bannato User Attivo

    Meglio speazzare la richiesta in due parti.
    Supponiamo che la foto grande si chiama fotogrande_01.jpg

    Come posso fare una funzione che mi controlla se in una cartella è presente il file di nome t_fotogrande_01.jpg (t_ è un esempio)

    E' possibile fare ciò con php?
    mumble mumbel


  • Moderatore

    hai provato con is_file() ?

    :ciauz:


  • Super User

    o anche [url=http://it.php.net/file_exists]file_exists?

    per le anteprime non hai bisogno di farle quadrate, puoi farle anche in proporzione.

    poniamo che vuoi l'immagine con dimensione massima 140 px.

    1. recuperi le dimensioni dell'immagine
    2. verifichi quale dimensione è la maggiore
    3. calcoli il rapporto tra la dimensione massima dell'immagine e il parametro di dimensione che devi raggiungere (140)
    4. calcoli il risultato della dimensione minore alla quale applichi il rapporto appena calcolato.
    5. hai larghezza ed altezza dove la dimensione maggiore è 140 e così hai le dimensioni per una thumb con le proporzioni rispettate e non distorta.

    :ciauz:


  • Bannato User Attivo

    Preferisco farle quadrate... mi piacciono di più.
    Grazie come sempre per gli utilerrimi links.


  • Bannato User Attivo

    Bene,
    voglio imparare ad usare questa funzione. Se ci sarà l'anteprima non la creo, se non ci sarà la creo.

    Leggo:
    Esempio 1. Verificare l'esistenza di un file<?php
    $filename = '/path/to/foo.txt';

    if (file_exists($filename)) {
    echo "il file $filename esiste";
    } else {
    echo "Il file $filename non esiste";
    }
    ?>

    Nota: I risultati di questa funzione saranno memorizzati. Vedere clearstatcache() per maggiori dettagli.

    Che cosa vogliono dire con:
    Nota: I risultati di questa funzione saranno memorizzati. Vedere clearstatcache() per maggiori dettagli.
    Devo cancellare qualcosa prima di passare alla pagina successiva?


  • Bannato User Attivo

    funziona.
    L'utente però vedrà alla prima chiamata la crocetta rossa di immagine non esistente.
    Poi essa viene create e dalla volta 2 richiamo la immagine esistente.

    Bella storia.


  • User

    @fabioski said:

    Visualizzare le thumbnail (anteprima) di una foto è possibile con le funzioni del php. Ma quando le foto da visualizzare sono tante il carico sul server che deve creare migliaia di thumbnail è eccessivo.

    E' conveniente perciò creare delle thumbnail e poi salvarle sul server. Alla chiamata successiva il server non dovrà generare la foto ma carica quella già esistente.

    Ora vorrei dei consigli.

    Vorrei creare uno script che mi fa questo:

    • apro la pagina della galleria fotografica ed inizio a visualizzare le foto,
    • lo script mi controlla la cartella /immagini/thumb/ e guarda se foto_01.jpg ha già la sua bella anteprima creata; se si allora mi carica quella anteprima, se no attiva il codice che prende la foto grande, la ridimensiona e poi salva nella cartella immagini/thumb quella anteprima

    A che punto sono.
    So generare la thumbnail. Uso una funzione che mi genera anteprima quadrate.

    Di queste non so come salvare l'anteprima come immagine fisica nel server.

    Non so come fare per fare questo:
    controllo nella cartella immagini/thumb se è presente il file dal nome foto_01.jpg in caso positivo mettimi la variabile su 1 altrimenti su 0.

    Qualcuno mi può dare delle dritte?

    GRAZIE

    che funzione usi per creare le miniature quadrate?


  • Super User

    Ciao Ares,forse il tuo messaggio è un'pò OT qui...:)
    Magari apri un nuovo thread con un titolo che specifica la tua richiesta, così sono sicuro che riceverai più risposte ;);)
    Qui intanto segnalo come risolto 🙂
    Ciao!