Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 34

Discussione: Modificare le immagini

  1. #1

    Modificare le immagini

    Ciao a tutti,
    ho un problema con la modifica delle immagini.
    Ho una pagina di inserimento degli annunci con informazioni testuali, con una miniatura immagine e un max di sei immagini.
    Per il salvataggio delle immagini non uso un database, salvo tutto direttamente sul disco in due cartelle "galleria" "miniatura".

    Per ogni annuncio prelevo l'id e creo due cartelle con il nome dell'id stesso all'interno di "galleria" e "miniatura".

    Per la modifica del testo non ci sono problemi mentre per quella delle immagini ho pensato di fare così :
    Prelevo l'id dell'annuncio, se esiste la cartella la cancello. Subito dopo creo nuovamente la cartella e applico nuovamente lo script per il ridimensionamento e salvataggio dell'immagine.
    questo procedimento non da nessun errore. Modifica l'annuncio testuale, cancella la cartella se esiste e ne crea una nuova. L'unico inconveniente ed il più importante è che non mi salva le immagini nella cartella.

    Di seguito allego il mio script

    //Script di connessione


    <?php
    // Prelevo l'id dell'immagine

    $id=$_POST['id'];

    // Script di inserimento testuale

    $categoria=$_POST['categoria'];
    $casa_automobilistica=$_POST['casa_automobilistica'];
    $modello=$_POST['modello'];
    $prezzo_listino=$_POST['prezzo_listino'];
    $prezzo_concessionaria=$_POST['prezzo_concessionaria'];
    $alimentazione=$_POST['alimentazione'];
    $immatricolazione=$_POST['immatricolazione'];
    $colore=$_POST['colore'];
    $porte=$_POST['porte'];
    $km=$_POST['km'];
    $cilindrata=$_POST['cilindrata'];
    $descrizione=$_POST['descrizione'];

    $query = "UPDATE autoveicoli SET
    categoria = '$categoria',
    casa_automobilistica = '$casa_automobilistica',
    modello = '$modello',
    prezzo_listino = $prezzo_listino,
    prezzo_concessionaria = $prezzo_concessionaria,
    alimentazione = '$alimentazione',
    immatricolazione = '$immatricolazione',
    colore = '$colore',
    porte = '$porte',
    km = '$km',
    cilindrata = '$cilindrata',
    descrizione = '$descrizione'
    WHERE id_autoveicoli = $id";

    //Prelevo il percorso

    $minia = "galleria" . "/" . "$id";

    // Cancello la cartella
    function rrmdir($dir) {
    if (is_dir($dir)) {
    $objects = scandir($dir);
    foreach ($objects as $object) {
    if ($object != "." && $object != "..") {
    if (filetype($dir."/".$object) == "dir") rrmdir($dir."/".$object); else unlink($dir."/".$object);
    }
    }
    reset($objects);
    rmdir($dir);
    }
    }

    if(is_dir($minia))
    {
    rrmdir($minia);
    }

    //Creo la cartella

    mkdir("galleria" . "/" . "$id");

    //Modifico ed inserisco le immagini
    for($i=0;$i<6;$i++)
    {
    if(isset($_FILES['foto'.$i]))
    {
    $num=$i+1;
    $file=$_FILES['foto'.$i];
    $nome= $file['name'];
    $path= "grandi" . "/" . "$nome";
    //echo $nome;
    $vett=explode("/",$file['type']);
    $tipo=$vett[0];
    if($tipo!="image"){}
    else
    {
    move_uploaded_file($file['tmp_name'],$path) or die("errore upload, controllare percorso");
    print"immagine $num caricata con successo;
    ";
    $dim = 800;
    list($width, $height, $type, $attr) = getimagesize($path);
    // Creo la versione 150*n dell'immagine (thumbnail)
    $numero = ($dim/$width);
    $thumb = imagecreatetruecolor($width*$numero, $height*$numero);
    $source = imagecreatefromjpeg($path);

    imagecopyresampled($thumb, $source, 0, 0, 0, 0, $width*$numero, $height*$numero, $width, $height);
    // Salvo l'immagine ridimensionata
    imagejpeg($thumb, $minia . "/" .$nome, 65); // 65 è la qualità dell'immagine, da 0 a 100
    if(file_exists($minia . "/" .$nome)) {
    echo "
    Immagine ridimensionata e salvata
    ";
    } else {
    echo "
    ATTENZIONE!! MINIATURA NON CREATA!!!
    ";
    }
    }//fine caricamento

    }
    }

    //PER LE MINIATURE APPLICO LO STESSO PROCEDIMENTO

    ?>


    Qualcuno sa dirmi gentilemte dove sbaglio?

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    che errore ti da??? arriva a fare il move_uploaded_file ????

  3. #3
    Grazie mille per l'interessamento.
    Non mi da nessun errore. Lo script cancella la cartella, ne crea una nuova sempre con lo stesso nome, ma quando vado a visualizzare il contenuto la cartella è vuota. Sono andato anche a spiare con l'ftp, la cartella esiste ma è completamente vuota.
    Grazie

  4. #4
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    hai i permessi di scrittura nella cartella?

  5. #5
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    quando crei la cartella con
    mkdir("galleria" . "/" . "$id");
    non gli dai i permessi di scrittura..

    fai mkdir("galleria" . "/" . "$id", 0755);
    e riprova..

  6. #6
    NON VA.....
    Ma secondo te il procedimento è giusto?

  7. #7
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    secondo me no.. io non farei che ogni volta che devo uploadare qualcosa cancello tutto e riscrivo tutto..
    se l'utente volesse aggiungere una immagine e le altre lasciarle dove sono? dovrebbe avere anche le altre sul PC e rispararle tutte..
    io metterei la possibilità di eliminare una per una le immagini e di uploadare le "mancanti" fino al numero massimo deciso..

    poi, la nuova cartella creata che permessi ha?

  8. #8
    E un procedimento del genere è complicato da realizzare? Puoi darmi qualche dritta?
    Grazie

  9. #9
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    io faccio così, poi sopratutto nel caso in cui non metti i nomi delle immagini nel DB..
    separi totalmente l'upload delle immagini dalla modifica testuale. per il testo, sei in grado..
    per le immagini, fai un readdir della cartella in cui ci sono le immagini e visualizzi le immagini con accanto un link che manda ad una pagina che cancella la singola foto.
    allo stesso tempo dai la possibilità all'utente di caricare le immagini "mancanti"..

  10. #10

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 © 2024 vBulletin Solutions, Inc. All rights reserved.