Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    70

    upload di immagini e ridimensionamento

    il classico dei problemi per ridimensionare al volo le immagini in modo automatico con php, questo è il codice che fino ad ora mi permette di fare l upload:


    <?php
    //Funzioni utili...
    //Funzione Replace " " in "_" (evitiamo possibili errori)
    function fSpace($string)
    {
    return str_replace(" ", "_", $string);
    }

    //Funzione per ricavare l' estensione di un File
    function fExt($string)
    {
    //Controllo il file
    $trova_punto = explode(".", $string);
    $estensione = $trova_punto[count($trova_punto) - 1];
    $estensione = strtolower($estensione);

    // Se non ci sono estensioni
    if (isset($trova_punto[1]) == FALSE)
    {
    return '';
    }
    //Ritorno il valore dell' estensione
    return $estensione;
    }
    //Fine funzioni
    //Effettuo l' upload dell' immagine...
    $uploaddir = 'uploads/';
    $uploadfile = fspace($_FILES['txt_file']['name']);
    $upload = $uploaddir . $uploadfile;


    //Controllo che sia stato specificato un file
    if(!strlen($uploadfile) == 0)
    {
    //Controllo l' estensione del file
    if((fExt($uploadfile) == 'gif') or (fExt($uploadfile) == 'jpg') or (fExt($uploadfile) == 'jpeg'))
    {
    //Creo la cartella
    mkdir($uploaddir);


    //Eseguo l' upload
    if(move_uploaded_file($_FILES['txt_file']['tmp_name'], $upload))
    {
    //Upload eseguito con successo
    echo "Upload eseguito correttamente";
    echo "

    Carica una nuova immagine";
    }else{
    //Upload fallito
    echo "Upload fallito !";
    }
    }else{
    //Messaggio di errore
    echo "File non valido";
    echo "
    Torna dietro";
    }
    }else{
    //Messaggio di errore
    echo "Specificare un file !";
    echo "
    Torna dietro";
    }


    Cosa ci devo mettere per far salvare le foto tipo nella cartella "foto/trattate" con una grandezza si 120 X 50 con proporzioni fisse?
    isak

  2. #2
    Utente di HTML.it L'avatar di Andy_87
    Registrato dal
    Jun 2010
    Messaggi
    323
    Non ho capito se vuoi sapere ocme si fa il resize o come si uppano le foto in una determinata cartella.
    Per il resize eccoti una classe http://free-script.it/post/Script_ph...zionale-54.htm

    Per il path delle foto tu usi $uploaddir = 'uploads/'; alla quale poi giustamente concateni il file, invece per salvarle nella cartella foto/trattate devi fare così:
    $uploaddir = "foto/trattate/";
    il mkdir() però non so se funziona passandogli $uploaddir, secondo me ti da errore perchè lui interpreta che tu vuoi creare la cartella trattate dentro la cartella foto ma probabilmente la cartella foto deve a sua volta essere creata. Vabbe dopo tutte queste parole io toglierei il mkdir e la cartella la creerei a mano da ftp tanto è un procedimento che devi fare una volta sola, al massimo mkdir lo usi per creare le sottocartelle.
    "Se non riuscirò a piegare gli dei del cielo, smuoverò le potenze dell'inferno"
    S. Freud

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    70
    in che punto devo mettere la classe? è che è la prima volta che mi cimento con php...
    isak

  4. #4
    Utente di HTML.it L'avatar di Andy_87
    Registrato dal
    Jun 2010
    Messaggi
    323
    E' scritto abbastanza chiaro :P Non può instanziare una classe non esistente. Hai copiato e incollato la classe in un file chiamato classe_resize.php? Se dal sito che ti ho dato fai il download probabilmente è già fatto.
    "Se non riuscirò a piegare gli dei del cielo, smuoverò le potenze dell'inferno"
    S. Freud

  5. #5
    Utente di HTML.it L'avatar di Andy_87
    Registrato dal
    Jun 2010
    Messaggi
    323
    Ecco qui, l'esempio che trovi al link che ti ho dato, questo ridimensiona l'immagine a 100x100
    Codice PHP:
    <? 
    include("classe_resize.php");
    $resize = new resize;
    $resize->urlimage "folder/immagine.jpg";
    $resize->go();
    ?>
    "Se non riuscirò a piegare gli dei del cielo, smuoverò le potenze dell'inferno"
    S. Freud

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    70
    okkey, un ultima cosa..... ho cancellato il nome dell immagine in uscita perchè cosi si andrà a chiamare con lo stesso nome dell immagine, solo che ce un ultimo ostacolo...

    $resize->urlimage = "uploads/images/immagine.jpg ";

    non sapendo come si chiameranno le foto che si andranno a caricare non posso specificare il nome dell immagine....

    hai qualche idea a proposito???

    grazie
    isak

  7. #7
    Utente di HTML.it L'avatar di Andy_87
    Registrato dal
    Jun 2010
    Messaggi
    323
    In teoria il nome delle immagini che si caricheranno dovresti saperlo. Prima fai l'upload, quindi salvi l'immagine in una determinata cartella e a questo punto già sai come si chiama l'imamgine che hai sul server, dopodiche fai il resize e la risalvi sovrascrivendola.
    "Se non riuscirò a piegare gli dei del cielo, smuoverò le potenze dell'inferno"
    S. Freud

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    70
    .... per fare il resize di piu foto? ovvero:
    carico un immagine che si chiama come nel file ($resize->urlimage = "uploads/images/1.jpg" e me lo fa, a questo punto cerco di caricare un altra immagine mettiamo 2,me la carica tutto ok, solo che quando mi fa vedere i nuovi attributi la rinomina sempre 1.jpg, anche se la immagine aveva un altro nome....
    isak

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    70
    come non detto... provando e riprovando ce l ho fatta: si trattava solo di copiare tutto il codice e cambiare il nome all inizio, quindi se voglio fare sto procedimento per 10 foto devo ripetere il codice 9 volte... in teoria..
    isak

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.