begin process at 2012 05 31 12:05:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

upload image et redimention (changer nom du fichier enregistré)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

upload image et redimention (changer nom du fichier enregistré)

mercredi 6 mai 2009 à 18:49:08 | upload image et redimention (changer nom du fichier enregistré)

mies07

Bonjour,
Je n'y connais pas grand chose en PHP et j'ai récupéré un script pour uploader des images et les redimensionner. Ce script est très bien mais je voudrais modifier une chose et je ne sais pas comment. J'aimerais que l'image soit renommée automatiquement. Je m'explique, quand je clique sur "parcourir", je choisis une image sur mon disque dur qui s'appelle "nom-photo.jpg" et j'aimerai que quand je clique sur "uploader" l'image soit enregistrée sur le server sous le nom "image1.jpg" par exemple. Tel quel, l'image est enregistrée sur le server sous le nom original de l'image.
Donc ma question est (si quelqu'un peut m'aider) : à quel endroit est-ce que je dois dire que l'image doit s'appeler "image1.jpg" dans le code ci-dessous : (je met le code entier au cas où si ça interesse quelqu'un parce qu'il fonctionne très bien)


<?php ini_set("memory_limit", "200000000"); // for large images so that we do not get "Allowed memory exhausted"?>
<?php
// upload the file
if ((isset($_POST["submitted_form"])) && ($_POST["submitted_form"] == "image_upload_form")) {
   
    // file needs to be jpg,gif,bmp,x-png and 4 MB max
    if (($_FILES["image_upload_box"]["type"] == "image/jpeg" || $_FILES["image_upload_box"]["type"] == "image/pjpeg" || $_FILES["image_upload_box"]["type"] == "image/gif" || $_FILES["image_upload_box"]["type"] == "image/x-png") && ($_FILES["image_upload_box"]["size"] < 4000000))
    {
       
 
        // some settings
        $max_upload_width = 2592;
        $max_upload_height = 1944;
         
        // if user chosed properly then scale down the image according to user preferances
        if(isset($_REQUEST['max_width_box']) and $_REQUEST['max_width_box']!='' and $_REQUEST['max_width_box']<=$max_upload_width){
            $max_upload_width = $_REQUEST['max_width_box'];
        }   
        if(isset($_REQUEST['max_height_box']) and $_REQUEST['max_height_box']!='' and $_REQUEST['max_height_box']<=$max_upload_height){
            $max_upload_height = $_REQUEST['max_height_box'];
        }   

       
        // if uploaded image was JPG/JPEG
        if($_FILES["image_upload_box"]["type"] == "image/jpeg" || $_FILES["image_upload_box"]["type"] == "image/pjpeg"){   
            $image_source = imagecreatefromjpeg($_FILES["image_upload_box"]["tmp_name"]);
        }       
        // if uploaded image was GIF
        if($_FILES["image_upload_box"]["type"] == "image/gif"){   
            $image_source = imagecreatefromgif($_FILES["image_upload_box"]["tmp_name"]);
        }   
        // BMP doesn't seem to be supported so remove it form above image type test (reject bmps)   
        // if uploaded image was BMP
        if($_FILES["image_upload_box"]["type"] == "image/bmp"){   
            $image_source = imagecreatefromwbmp($_FILES["image_upload_box"]["tmp_name"]);
        }           
        // if uploaded image was PNG
        if($_FILES["image_upload_box"]["type"] == "image/x-png"){
            $image_source = imagecreatefrompng($_FILES["image_upload_box"]["tmp_name"]);
        }
       

        $remote_file = "image_files/".$_FILES["image_upload_box"]["name"];
        imagejpeg($image_source,$remote_file,100);
        chmod($remote_file,0644);
   
   

        // get width and height of original image
        list($image_width, $image_height) = getimagesize($remote_file);
   
        if($image_width>$max_upload_width || $image_height >$max_upload_height){
            $proportions = $image_width/$image_height;
           
            if($image_width>$image_height){
                $new_width = $max_upload_width;
                $new_height = round($max_upload_width/$proportions);
            }       
            else{
                $new_height = $max_upload_height;
                $new_width = round($max_upload_height*$proportions);
            }       
           
           
            $new_image = imagecreatetruecolor($new_width , $new_height);
            $image_source = imagecreatefromjpeg($remote_file);
           
            imagecopyresampled($new_image, $image_source, 0, 0, 0, 0, $new_width, $new_height, $image_width, $image_height);
            imagejpeg($new_image,$remote_file,100);
           
            imagedestroy($new_image);
        }
       
        imagedestroy($image_source);
       
       
        header("Location: submit.php?upload_message=image uploaded&upload_message_type=success&show_image=".$_FILES["image_upload_box"]["name"]);
        exit;
    }
    else{
        header("Location: submit.php?upload_message=make sure the file is jpg, gif or png and that is smaller than 4MB&upload_message_type=error");
        exit;
    }
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Image Upload with resize</title>
<style type="text/css">
<!--
body,td,th {
    font-family: Arial, Helvetica, sans-serif;
    color: #333333;
    font-size: 12px;
}

.upload_message_success {
    padding:4px;
    background-color:#009900;
    border:1px solid #006600;
    color:#FFFFFF;
    margin-top:10px;
    margin-bottom:10px;
}

.upload_message_error {
    padding:4px;
    background-color:#CE0000;
    border:1px solid #990000;
    color:#FFFFFF;
    margin-top:10px;
    margin-bottom:10px;
}

-->
</style></head>

<body>

<h1 style="margin-bottom: 0px">Submit an image</h1>


        <?php if(isset($_REQUEST['upload_message'])){?>
            <div class="upload_message_<?php echo $_REQUEST['upload_message_type'];?>">
            <?php echo htmlentities($_REQUEST['upload_message']);?>
            </div>
        <?php }?>


<form action="submit.php" method="post" enctype="multipart/form-data" name="image_upload_form" id="image_upload_form" style="margin-bottom:0px;">
<label>Image file, maximum 4MB. it can be jpg, gif,  png:</label><br />
          <input name="image_upload_box" type="file" id="image_upload_box" size="40" />
          <input type="submit" name="submit" value="Upload image" />    
    
     <br />
    <br />

    
      <label>Scale down image? (2592 x 1944 px max):</label>
      <br />
      <input name="max_width_box" type="text" id="max_width_box" value="1024" size="4">
      x     
     
      <input name="max_height_box" type="text" id="max_height_box" value="768" size="4">
      px.
      <br />
      <br />
      <p style="padding:5px; border:1px solid #EBEBEB; background-color:#FAFAFA;">
      <strong>Notes:</strong><br />
  The image will not be resized to this exact size; it will be scalled down so that neider width or height is larger than specified.<br />
  When uploading this script make sure you have a directory called &quot;image_files&quot; next to it and make that directory writable, permissions 777.<br />
  After you uploaded images and made tests on our server please <a href="delete_all_images.php">delete all uploaded images </a> :)<br />
  </p>

     

<input name="submitted_form" type="hidden" id="submitted_form" value="image_upload_form" />
          </form>




<?php if(isset($_REQUEST['show_image']) and $_REQUEST['show_image']!=''){?>
<p>
    <img src="image_files/<?php echo $_REQUEST['show_image'];?>" />
</p>
<?php }?>




</body>
</html>
jeudi 7 mai 2009 à 17:36:58 | Re : upload image et redimention (changer nom du fichier enregistré)

mies07

ça y est j'ai trouvé en cherchant un peu...
move_uploaded_file



Cette discussion est classée dans : upload, image, box, max, width


Répondre à ce message

Sujets en rapport avec ce message

question upload [ par romu58 ] Bonjour à tous,Débutant en PHP ,j'ai un scxcript upload pour mon forum mais le soucis j'arrive pas a avoir le lien de téléchargement apres voici le sc probleme avec imagecopyresized [ par ldevun ] Bonjour,Je souhaite redimmensionner une image et l'enregistrer dans un répertoire. Après lecture des messages sur ce sujet sur le forum j'ai fait le c Upload d'image et post de commentaire lié avec mysql [ par Padaone91 ] Bonjour à tous ceux qui liront ce petit bout de texte, Voilà je souhaite créer une page qui permettra à mes visiteurs d'upload une image et ensuite d Problème Upload/Get [ par R3dDragon ] J'ai un petit soucis, expliquez en détails ci-dessous:Un système d'upload envoi à la page rec.php, la variable $image, et pour que les gens ne soit pa Upload d'image ==> Problème :s [ par robapt ] Bonjour à tous!J'ai un petit problème pour uploader un fichier (une image) ! Enfin c'est plutôt que je ne vois pas comment il faut faire ! En fait, le upload d'image [ par gaillardo ] Bonjour à tous,J'ai un petit probleme d'upload qui fonctionne avec des images de 3ko alors qu'avec une image de 6ko j'ai l'erreur 2 qui est la suivant upload debutant [ par thrmgs ] bonjour a tous j aimerai savoir comment puije uploader dans un repertoire predefinit par moi meme (par exemple: c:\image\foto.jpg) a l aide de se scri Mémoire max [ par coockiesch ] Salut!Alors que je tente de créer une image (image d'1 mo) avec GD, via imagecreatefromjpeg, j'ai le joli message d'erreur suivant: Allowed memory siz Réaffichage d'un formulaire [ par ninoy ] Bonjour!Je suis en train de créer un formulaire,et j'ai quelques problèmes...Pour commencer, mon formulaire contient 2 input type text, un textarea et Upload d'image avec aperçu [ par freddybesac ] Bonjour à tous !Je cherche à afficher l'aperçu d'une image que l'utilisateur vient de télécharger ; l'idée est d'afficher celle-ci après sa sélection


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,671 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales