Visualizzazione dei risultati da 1 a 9 su 9

Discussione: [gd] non salva il file

  1. #1
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970

    [gd] non salva il file

    ciao a tutti!

    questo scriptino non mi salva il file dell'immagine che creo.

    sapreste dirmi come mai?

    codice:
      $gallery = $_POST['ngallery'];
      $uploaddir = 'gallery/images';
      $upload_dir1 = $uploaddir."_".$_POST["ngallery"]."/";
      $uploadfile1 = $upload_dir1 . $_FILES['userfile']['name'];
      $filename = $_FILES['userfile']['name'];
    
      if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile1)) {
       $mex = "The files have been successfully uploaded.";
      }
      else {
       print "<pre>";
       print "Possible file upload attack!  Here's some debugging info:\n";
       print_r($_FILES);
       print_r($_FILES['userfile']['error']);
       print "</pre>";
      }
     $url = $uploadfile;
     $im = getimagesize($url);
     if ($im[0] >= $im[1]) {
      $div = $im[0]/100;
     }
     else {
      $div = $im[1]/100;
     }
     $newwid = ceil($im[0]/$div);
     $newhei = ceil($im[1]/$div);
    
     $err = "";
     switch ($im[2]) {
      case 1:
       $oldim = imagecreatefromgif($url);
       break;
      case 2:
       $oldim = imagecreatefromjpeg($url);
       break;
      case 3:
       $oldim = imagecreatefrompng($url);
       break;
      default:
       $err = "We are sorry but this image format isn't valid. Only GIF, JPG, PNG are supported.";
     }
    
     $tdir = $upload_dir1."thumbs_".$gallery."/TN_".$filename;
    
     if ($err == "") {
      $newim = @imagecreatetruecolor($newwid,$newhei) or die("Cannot Initialize new GD image stream");
      imagecopyresized($newim,$oldim,0,0,0,0,$newwid,$newhei,$im[0],$im[1]);
      switch ($im[2]) {
       case 1:
        $oldim = imagecreatefromgif($url);
        header('Content-Type: image/gif');
        imagegif($newim,$tdir);
        break;
       case 2:
        $oldim = imagecreatefromjpeg($url);
        header('Content-Type: image/jpeg');
        imagejpeg($newim,$tdir,100);
        break;
       case 3:
        $oldim = imagecreatefrompng($url);
        header('Content-Type: image/png'); 
        imagepng($newim,$tdir);
        break;
      }
     }
     imagedestroy($newim);
     imagedestroy($oldim);
    grazie
    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    nn ottieni nessun tipo di errore?? prova a controllare i percorsi di $tdir.
    think simple think ringo

  3. #3
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970
    nessun errore. quello ke dovrebbe fare è crearmi una thumbnail che visualizzo nella gallery. ma nella gallery mi dà l'avviso che manca la thumbnail x l'immagine ke ho appena uploadato.

    $tdir è giusto, l'ho controllato più volte. x es potrebbe essere:
    codice:
    gallery/images_02/thumbs_02/file.jpg
    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

  4. #4
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    prova con error_reporting(E_ALL); all'inizio del codice. se lo script non ti genera errori, vuol dire che la tb viene creata. prova a controllare nella cartella dove dovrebbe venire salvata.
    think simple think ringo

  5. #5
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970
    ehm...

    ecco, si, c'è qualcosa ke non va

    Notice: Undefined variable: uploadfile in c:\hosting\fanarctica.com\wwwroot\fanscorner.php on line 22

    Warning: Division by zero in c:\hosting\fanarctica.com\wwwroot\fanscorner.php on line 32

    Warning: Division by zero in c:\hosting\fanarctica.com\wwwroot\fanscorner.php on line 33

    Notice: Undefined variable: newim in c:\hosting\fanarctica.com\wwwroot\fanscorner.php on line 73

    Warning: imagedestroy(): supplied argument is not a valid Image resource in c:\hosting\fanarctica.com\wwwroot\fanscorner.php on line 73

    Notice: Undefined variable: oldim in c:\hosting\fanarctica.com\wwwroot\fanscorner.php on line 74

    Warning: imagedestroy(): supplied argument is not a valid Image resource in c:\hosting\fanarctica.com\wwwroot\fanscorner.php on line 74
    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

  6. #6
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    controlla sia i notice sia i warning
    think simple think ringo

  7. #7
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970
    ok sono riuscito a risolvere!

    Qui il codice x l'upload e il ridimensionamento delle immagini!
    codice:
     if ($_POST["upload"] == "upload") {
      $gallery = $_POST['ngallery'];
      $uploaddir = 'gallery/images';
      $upload_dir1 = $uploaddir."_".$_POST["ngallery"]."/";
      $uploadfile1 = $upload_dir1 . $_FILES['userfile']['name'];
      $filename = $_FILES['userfile']['name'];
    
      if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile1)) {
       $mex = "The files have been successfully uploaded.";
      }
      else {
       print "<pre>";
       print "Possible file upload attack!  Here's some debugging info:\n";
       print_r($_FILES);
       print_r($_FILES['userfile']['error']);
       print "</pre>";
      }
     $url = $uploadfile1;
     $im = getimagesize($url);
     if ($im[0] >= $im[1]) {
      $div = ceil($im[0]/100);
     }
     else {
      $div = ceil($im[1]/100);
     }
     $newwid = ceil($im[0]/$div);
     $newhei = ceil($im[1]/$div);
    
     $err = "";
     switch ($im[2]) {
      case 1:
       $oldim = imagecreatefromgif($url);
       break;
      case 2:
       $oldim = imagecreatefromjpeg($url);
       break;
      case 3:
       $oldim = imagecreatefrompng($url);
       break;
      default:
       $err = "We are sorry but this image format isn't valid. Only GIF, JPG, PNG are supported.";
     }
    
     $tdir = $upload_dir1."thumbs_".$gallery."/TN_".$filename;
    
     if ($err == "") {
      $newim = @imagecreatetruecolor($newwid,$newhei) or die("Cannot Initialize new GD image stream");
      imagecopyresized($newim,$oldim,0,0,0,0,$newwid,$newhei,$im[0],$im[1]);
      switch ($im[2]) {
       case 1:
        $oldim = imagecreatefromgif($url);
        imagegif($newim,$tdir);
        break;
       case 2:
        $oldim = imagecreatefromjpeg($url);
        imagejpeg($newim,$tdir,100);
        break;
       case 3:
        $oldim = imagecreatefrompng($url);
        imagepng($newim,$tdir);
        break;
      }
     }
     imagedestroy($newim);
     imagedestroy($oldim);
     }
    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

  8. #8
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970
    solo una cosa:

    Notice: Undefined index: reg in c:\hosting\fanarctica.com\wwwroot\fanscorner.php on line 95

    codice:
    if ($_GET['reg'] == "in") { print .....
    come mai fa anke ste stupidate?
    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

  9. #9
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    con l'error reporting su all php ti visualizza tutti gli errori, i warning ed i notice. quest'ultimi nn sono veri e propri errori, ma avvisi su pezzi di codice formalmente non corretto.
    nel caso specifico la chiave reg dell'array $_GET non esiste, e quindi arriva il notice. per toglierlo devi trovare una sintassi alternativa per la condizione dell'if...
    think simple think ringo

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.