PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 24-03-2010 14:44:53

dan4
Membre
Inscription : 10-01-2010
Messages : 128

Uploader et renommer image

Bonjour!

J'ai essayé d'intégrer le upload de fichier (pas sécurisé encore) et ça marche.
Je voudrais que mes fichiers porte le même nom que le numéro d'article ici : $_POST['noart'],
j'ai tenté à quelques endroits, je n'y arrive pas. Un idée?

image en jpg seulement.

En passant, si vous avez des idées pour améliorer mon code, c'est le bienvenu ou si j'ai oublié quelque chose.

<?php

if(empty($_POST['nocat'])||
   empty($_POST['noart'])||
   empty($_POST['article'])||
   empty($_POST['taille'])||
   empty($_POST['stock'])||
   empty($_POST['prix'])||
   empty($_POST['details'])
) {

        echo 'Tous les champs doivent être rempli!';
        exit;
        } else {

              $db = mysql_connect('localhost', 'root', 'root') or die(mysql_error());
              mysql_select_db('cristauxphil', $db) or die(mysql_error());

                  $noart = $_POST['noart'];
               
                  $target = "image/";
                  $target = $target . basename($_FILES['image']['name']);
                  $image=($_FILES['image']['name']);

                   $sql = "SELECT noart
                           FROM produits
                           WHERE noart = '$noart'
                          ";

                   $result = mysql_query($sql)
                             or die('Query failed. ' . mysql_error());

                   if (mysql_num_rows($result) == 1) {

                      echo $noart .' Oui présent dans la base!';
                      exit;
                   } else {
                      echo $noart . ' pas présent dans la base!';
                     
                     
                            if(move_uploaded_file($_FILES['image']['tmp_name'], $target))
                            {
                           
                            //Tells you if its all ok
                            echo "uploadé et inscrit à la base!";
                            }
                            else {

                            //Gives and error if its not
                            echo "Erreur d'\upload du fichier!";
                            }
                     
                     
                   mysql_query ("INSERT INTO produits (id,nocat,noart,article,taille,stock,prix,details,image)
                    VALUE (
                    '',
                    '". mysql_real_escape_string($_POST['nocat']) ."',
                    '". mysql_real_escape_string($_POST['noart']) ."',
                    '". mysql_real_escape_string($_POST['article']) ."',
                    '". mysql_real_escape_string($_POST['taille']) ."',
                    '". mysql_real_escape_string($_POST['stock']) ."',
                    '". mysql_real_escape_string($_POST['prix']) ."',
                    '". mysql_real_escape_string($_POST['details']) ."',
                    '". mysql_real_escape_string($image) ."'
                    )
                    ");
                             
                   }

              mysql_close();
             
        }
     
?>

Ma prochaine étape est de redimensionner les images en gardant les proportions.

Dernière modification par dan4 (24-03-2010 14:47:48)


Salutations smile

Hors ligne

#2 24-03-2010 15:06:14

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : Uploader et renommer image

Il te faut modifier $target. C'est le chemin vers le fichier sur le serveur, il contient donc le nom du fichier avec son extension.

Hors ligne

#3 24-03-2010 15:25:06

dan4
Membre
Inscription : 10-01-2010
Messages : 128

Re : Uploader et renommer image

xTG a écrit :

Il te faut modifier $target. C'est le chemin vers le fichier sur le serveur, il contient donc le nom du fichier avec son extension.

Il ne contient pas ce que je veux. Je veux pouvoir renommer.. J'ai essayé de le modifier sans succès.


Salutations smile

Hors ligne

#4 24-03-2010 15:35:49

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : Uploader et renommer image

Je peux t'assurer que si.
Si dans $target tu mets /toto/tata.jpg et bien tu déplaceras l'image temporaire vers le dossier toto en la nommant tata.jpg

Hors ligne

#5 25-03-2010 22:28:22

dan4
Membre
Inscription : 10-01-2010
Messages : 128

Re : Uploader et renommer image

J'ai essayé avec $target = "image/". $_post['noart'];  pour que ça prenne le nom du numéro d'article et ça pas fonctionner. Le nom est toujours celui du fichier originaux. Je vais essayer encore au cas où. Je vous en redonne des nouvelles.

si j'upload le fichier, je veux que ça prenne le nom de de $_post....

Dernière modification par dan4 (25-03-2010 22:54:49)


Salutations smile

Hors ligne

#6 26-03-2010 06:54:51

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : Uploader et renommer image

Premièrement c'est $_POST['noart'] sinon tu te retrouveras avec une variable qui n'existe pas.
Deuxièmement penses à vider ton dossier de destination avant de faire un test afin d'être sûr de n'avoir qu'un seul fichier à vérifier.

Hors ligne

#7 26-03-2010 10:28:26

dan4
Membre
Inscription : 10-01-2010
Messages : 128

Re : Uploader et renommer image

Partie totalement modifié représenté par un *

Maintenant, ça fonctionne bien. Il me reste plus qu'à sécuriser le upload. Quoique ce formulaire ne sera pas publique. Mais, c'est bon d'apprendre à le faire au cas où que je décide faire une galerie d'images. Je vais le faire. Et contrôler les proportions de l'image.

                 
              *    $chemin = "image/";
              *    $image = $_FILES['image']['name'];

              *         if(move_uploaded_file($_FILES['image']['tmp_name'], $chemin.$noart.".jpg"))
                       
              *   '". mysql_real_escape_string($_POST['noart'].".jpg") . "'

Dernière modification par dan4 (26-03-2010 10:31:00)


Salutations smile

Hors ligne

Pied de page des forums