upload immagini problema

alexm66

Nuovo Utente
7 Giu 2011
3
0
0
salve a tutti, premetto che di php ne capisco ben poco... e quindi chiedo un aiutino :-). ho scaricato un form per uplodare immagini direttamente sul server, funziona perfettamente.... però cè solo una cosa che vorrei facesse... ora quando carico l'immagine gli da un nome a random con dei numeri, mentre io vorrei che rimanesse il nome originale dell'immagine che vado a caricare, e se esiste gia la sovvrascrivesse. Potete aiutarmi? questo è il codice:
PHP:
<?php
//load the config file
include("configup.php");

//if the for has submittedd
if (isset($_POST['upForm'])){

       $file_type = $_FILES['imgfile']['type'];
       $file_name = $_FILES['imgfile']['name'];
       $file_size = $_FILES['imgfile']['size'];
       $file_tmp = $_FILES['imgfile']['tmp_name'];

       //check if you have selected a file.
       if(!is_uploaded_file($file_tmp)){
          echo "Error: Please select a file to upload!. <br>--<a href=\"$_SERVER[PHP_SELF]\">back</a>";
          exit(); //exit the script and don't do anything else.
       }
       //check file extension
       $ext = strrchr($file_name,'.');
       $ext = strtolower($ext);
       if (($extlimit == "yes") && (!in_array($ext,$limitedext))) {
          echo "Wrong file extension.  <br>--<a href=\"$_SERVER[PHP_SELF]\">back</a>";
          exit();
       }
       //get the file extension.
       $getExt = explode ('.', $file_name);
       $file_ext = $getExt[count($getExt)-1];

       //create a random file name
       $rand_name = md5(time());
      $rand_name= rand(0,999999999);
       //get the new width variable.
      $ThumbWidth = $img_thumb_width;

       //keep image type
       if($file_size){
          if($file_type == "image/pjpeg" || $file_type == "image/jpeg"){
               $new_img = imagecreatefromjpeg($file_tmp);
           }elseif($file_type == "image/x-png" || $file_type == "image/png"){
               $new_img = imagecreatefrompng($file_tmp);
           }elseif($file_type == "image/gif"){
               $new_img = imagecreatefromgif($file_tmp);
           }
           //list width and height and keep height ratio.
           list($width, $height) = getimagesize($file_tmp);
           $imgratio=$width/$height;
           if ($imgratio>1){
              $newwidth = $ThumbWidth;
              $newheight = $ThumbWidth/$imgratio;
           }else{
                 $newheight = $ThumbWidth;
                 $newwidth = $ThumbWidth*$imgratio;
           }
           //function for resize image.
           if (function_exists(imagecreatetruecolor)){
           $resized_img = imagecreatetruecolor($newwidth,$newheight);
           }else{
                 die("Error: Please make sure you have GD library ver 2+");
           }
           imagecopyresized($resized_img, $new_img, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
           //save image
           ImageJpeg ($resized_img,"$path_thumbs/$rand_name.$file_ext");
           ImageDestroy ($resized_img);
           ImageDestroy ($new_img);
           //print message
           echo "<br>Image Thumb: <a href=\"$path_thumbs/$rand_name.$file_ext\">$path_thumbs/$rand_name.$file_ext</a>";
        }

        //upload the big image
        move_uploaded_file ($file_tmp, "$path_big/$rand_name.$file_ext");

        echo "<br>Image Big: <a href=\"$path_big/$rand_name.$file_ext\">$path_big/$rand_name.$file_ext</a>";

        echo "<br><br>--<a href=\"$_SERVER[PHP_SELF]\">back</a>";

}else{ //if the form hasn't been submitted.

      //print the form
      echo "<script>
      function view_img(img_name){
         document[img_name].src = upForm.imgfile.value;
            document[img_name].width = 150;
      }
      </script>\n\n
      <br><h3>:: Browse an Image to Upload:</h3>\n
      <form method=\"post\" name=\"upForm\" enctype=\"multipart/form-data\" action=\"$_SERVER[PHP_SELF]\">\n
      <input type=\"file\" name=\"imgfile\" onchange=\"javascript:view_img('img_vv');\"> <img src='' name='img_vv' width='0'><br>\n
      Image width will resize to <b>$img_thumb_width</b> with height ratio.
      <br><input type=\"Submit\" name=\"upForm\" value=\"Upload & Resize\">\n
      </form>
      <a href=\"view_gallery.php\">View Images</a>";

}




?>
 
Ultima modifica di un moderatore:
elimina la parte:
PHP:
$rand_name = md5(time());
$rand_name= rand(0,999999999);

poi sostituisci nel resto del codice $rand_name con $getExt[0] che è poi il nome del file senza estensione.
Non puoi sovrascrivere un file, ma puoi prima eliminare l'originale con unlink() e poi eseguire l'upload.
 
Ciao Claudio, ti ringrazio x la risposta :-) funziona perfettamente..... cè solo un piccolo particolare...... come mai mi traduce il nome???? mi spiego, ho caricato l'immagine che si chiama pinguini. jpg, sono andato a guardare e me l'ha chiamata penguins.jpg
 
retifico... anche se mi sembra strano... boh.... me lo fa solo con le immagini campione di win.... ho caricato delle mie immagini ed è tutto a posto, mantiene il nome che gli do :-). Quindi ti ringrazio ancora, ciaoooooo
 

Discussioni simili