galleria immagini upload e resize...

Ciao mitico  forum! allora vengo al puntoo...sto cercando di creare una galleria img, facendo l'upload del file sul server per poi inserire il nome della fotografia su DB, fino quì tutto bene.. riesco a fare l'upload sul server (il locale con easyphp) riesco a fare la query al database inserendo il nome della foto.. però adesso vorrei creare con php il ridimensionamento della img oriiginale! però non risco a trovare nessun tutorial (ovviamente facile) per far cio..

CMQ vi posto lo script che mi fà l'upload delle immagini e l'inserimento del del nome dell'immagine, devo solo implementare il ridimensionamento della stessa per creare una galleria thumbnails

<?php 
 if(isset($_POST['invia'])) {
 //assegno le variabili
  $nome=$_POST['titolo_foto'];
  $percorso= "C:\Program Files\EasyPHP1-8\www\melodi music school\fotoins/";
  $nome_file_temporaneo = $_FILES['upfoto']['tmp_name'];  
  $foto= $_FILES['upfoto']['name'];
 
  //aggiungo gli slashes alla foto e alla descrizione

  $nome=addslashes($nome);
  $foto=addslashes($foto);

      if($nome ==""){
                     echo"<strong>attenzione il campo nome risulta essere vuoto!</strong><br />
      <a href=\"index.php?modulo=17\"> &gt; &gt; torna indietro </a>";
     exit();
                    }

     if($foto==""){
                     echo"<strong>attenzione il campo foto risulta essere vuoto!</strong><br />
                     <a href=\"index.php?modulo=17\"> &gt; &gt; torna indietro </a>";
          exit();
                    }

  //__
if (file_exists('C:\Program Files\EasyPHP1-8\www\melodi music school\fotoins/'.$_FILES['upfoto']['name'])) {
          echo"<h2>nome immagine risulta essere esistente nella cartella remota! rinomina il file e riprova con l'upload della foto..</h2>
             <a href=\"index.php?modulo=17\"> &gt; &gt; torna indietro </a>";
               exit();
   }

  if(copy($nome_file_temporaneo, $percorso. $foto)){  
           
  //inserico il nome della foto e la descizione nel db
 require_once('./../Connections/cn.php'); 

    $query=mysql_query("INSERT INTO photogallery SET
                                           DescFoto='$nome',
            NomeFoto='$foto'
                                  "); 

        if(!$query){
                        echo mysql_error();
                    exit();
                        }

        echo"<h1>Galleria foto aggiornata correttamente</h1>"; //se è andato a buon fine la query
   
  }
}
 ?>
inviato 8 anni fa
felix1
modificato 8 anni fa
X 0 X

gianni aiuto!!

risposto 8 anni fa
felix1
X 0 X

allora ho fatto un pò di modifiche adattando un script che ho trovato in rete, pero mi da un errore:

Warning: copy(Resource id #7): failed to open stream: No such file or directory in c:\program files\easyphp1-8\www\melodi music school\gestion\modulo\17.php on line 56

<?php 
 if(isset($_POST['invia'])) {
 //assegno le variabili
  $nome=$_POST['titolo_foto'];
  $percorso= "C:\Program Files\EasyPHP1-8\www\melodi music school\fotoins/";
  $nome_file_temporaneo = $_FILES['upfoto']['tmp_name'];  
  $foto= $_FILES['upfoto']['name']; 
  //____
  $nome=addslashes($nome);
  $foto=addslashes($foto);
      if($nome ==""){
                     echo"<strong>attenzione il campo nome risulta essere vuoto!</strong><br />
                     <a href=\"index.php?modulo=17\"> &gt; &gt; torna indietro </a>";
                    exit();
                    }//chiusura if verific nome
      if($foto==""){
                     echo"<strong>attenzione il campo foto risulta essere vuoto!</strong><br />

                     <a href=\"index.php?modulo=17\"> &gt; &gt; torna indietro </a>";
                    exit();
                    }//chiusura if verifica foto
  //__
if (file_exists('C:\Program Files\EasyPHP1-8\www\melodi music school\fotoins/'.$_FILES['upfoto']['name'])) {
          echo"<h2>nome immagine risulta essere esistente nella cartella remota! rinomina il file e riprova con l'upload della foto..</h2>
             <a href=\"index.php?modulo=17\"> &gt; &gt; torna indietro </a>";
               exit();
   }
  if(copy($nome_file_temporaneo, $percorso. $foto)){
 //inizio codice per il resize dll'immagine

   $larghezza_thumb = 100;
   $altezza_thumb = 100;
   $originale = "C:\Program Files\EasyPHP1-8\www\sito\fotoins/"."$foto";
   $immagine = imagecreatefromjpeg($originale);
   //$nuova_dir="C:\Program Files\EasyPHP1-8\www\melodi music school\fotoins\a/";

  $larghezza = imagesx($immagine);
  $altezza = imagesy($immagine);
  $scala = min($larghezza_thumb/$larghezza, $altezza_thumb/$altezza);

  if ($scala < 1) {
      $nuova_larghezza = floor($scala*$larghezza);
      $nuova_altezza = floor($scala*$altezza);

      $immagine_temporanea =  imagecreatetruecolor($nuova_larghezza, $nuova_altezza);

      imagecopyresized($immagine_temporanea, $immagine,0,0,0,0,$nuova_larghezza, $nuova_altezza, $larghezza, $altezza);
      //imagedestroy($immagine);
      $immagine = $immagine_temporanea;
     
  }
  
  //header("Content-type: image/jpeg");
  //echo imagejpeg($immagine);
  
  copy($immagine_temporanea, 'C:\Program Files\EasyPHP1-8\www\sito\fotoins\a/' . $immagine); //line 56 dove mi da l'errore...

 
 //fine  
            
  //query__
 require_once('./../Connections/melody.php'); 

    $query=mysql_query("INSERT INTO photogallery SET
                        DescFoto='$nome',
                   NomeFoto='$foto'
                      "); 
        if(!$query){
                    echo mysql_error();
                 exit();
                   }
   echo"<h1>Galleria foto aggiornata correttamente</h1>";
  
   
  }//fine controllo nome file
}
 ?>
risposto 8 anni fa
felix1
X 0 X

quando si effettua l'upload di un file non si usa copy ma move_uploaded_file()

http://it.php.net/manual/en/features.file-upload.php

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

però il primo upload del file file lo riesco a fare anche con la funzione copy(),  riesco anche a fare la query nel database ricavando il nome della img, il problema sta quando faccio il ridimensionamento della img e successivamente l'upload dell'immagine ridimensionata...

risposto 8 anni fa
felix1
X 0 X

Per l'immagine ridimensionata non devi fare l'upload, visto che questa viene generata sul server. Semmai devi solo salvarla in qualche cartella del server.

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

non ci avevo pensato, quindi una volta fatto l'upload sul "server" (C:/programmi/ecc....) l'immagine la ridimensiono e poi la sposto sulla cartella delle miniature?? 

risposto 8 anni fa
felix1
X 0 X

Non devi spostarla, devi semplicemente salvarla nella cartella giusta.

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda

Domande simili