IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

upload : problème fichiers existants dans la bdd ? [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 295
    Points : 87
    Points
    87
    Par défaut upload : problème fichiers existants dans la bdd ?
    Bonjour, voila je fais une série de message dans 1 variable, me permettant à la fin du code d'afficher une alerte du probleme ou de l'exécution de l'upload du fichier.

    Problème:

    -Seulement, dans mon application j'aimerai qu'il détecte si le fichier à deja été enregistrer dans la base, (nom) lors d'une requête précédente, lors d'une insertion.
    -Or il m'affiche tout le temps fichier " xx" et fiche " xxx " insérer correctement.

    voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <?php
    if((isset($_FILES['fichiers'])) || (isset($_FILES['fichiers'])))
    	{
    	$dest_dossier = 'C:\wamp\www\rbdc\upload/';
    	function nomfichiers ()
    		{
    		$dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 		'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    		$dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier);
    		}
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    	if(isset($_FILES['fichiers']))
    		{
    		if($_FILES['fichiers']['size']>0)
    			{
    			$sql = "SELECT COUNT(*) FROM fichiersj WHERE nomFichierj = '".$dest_fichier."'";
    			$res = mysql_query($sql);
    			if($res)
    				{
    				if(mysql_result($res, 0, 0) == 0)
    					{
    					$dest_fichier = basename($_FILES['fichiers']['name']);
    					nomfichiers ();
    					move_uploaded_file($_FILES['fichiers']['tmp_name'], $dest_dossier . $dest_fichier);  
    					$sql3 = "INSERT INTO fichiersj (nomFichierj, numFiche) VALUES ( '".$dest_fichier."', '".$numfiche2."')"; 
    					$result3 = mysql_query($sql3);
    					$msg="Fichier \''.$dest_fichier.'\' et Fiche n°\''.$numfiche2.'\' insérer correctement !"; 
    					}else{
    						$msg="Fichier \''.$dest_fichier.'\' existe déja! Renommer le fichier ou choisissez en un autre.";
    				}
    				//fin du if($res) 
    						 }else{
    						 $msg="Erreur sql sur le fichier \''.$dest_fichier.'\', \''.$sql.'\'";
    							  }
    							echo '<script language=javascript> alert (" \''.$msg.'\' ");</script>'; 
    							echo '<SCRIPT LANGUAGE="JavaScript"> 
    							document.location.href="accueil.php" </SCRIPT>'; 
    							exit; 
    			 }
    		}
    	}
    ?>
    Merci

  2. #2
    Membre actif

    Inscrit en
    Mai 2004
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 162
    Points : 264
    Points
    264
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <?php
    if((isset($_FILES['fichiers'])) || (isset($_FILES['fichiers'])))
       {
       $dest_dossier = 'C:\wamp\www\rbdc\upload/';
       function nomfichiers ()
          {
          $dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',       'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
          $dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier);
          }
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
      if(isset($_FILES['fichiers']))
          {
          if($_FILES['fichiers']['size']>0)
             {
             $sql = "SELECT COUNT(*) FROM fichiersj WHERE nomFichierj = '".$dest_fichier."'";
             $res = mysql_query($sql);
             if($res)
                {
                if(mysql_result($res, 0, 0) == 0)
                   {
                   $dest_fichier = basename($_FILES['fichiers']['name']);
                   nomfichiers ();
                   move_uploaded_file($_FILES['fichiers']['tmp_name'], $dest_dossier . $dest_fichier); 
                   $sql3 = "INSERT INTO fichiersj (nomFichierj, numFiche) VALUES ( '".$dest_fichier."', '".$numfiche2."')";
                   $result3 = mysql_query($sql3);
                   $msg="Fichier \''.$dest_fichier.'\' et Fiche n°\''.$numfiche2.'\' insérer correctement !";
                   }else{
                      $msg="Fichier \''.$dest_fichier.'\' existe déja! Renommer le fichier ou choisissez en un autre.";
                }
                //fin du if($res)
                       }else{
                       $msg="Erreur sql sur le fichier \''.$dest_fichier.'\', \''.$sql.'\'";
                           }
                         echo '<script language=javascript> alert (" \''.$msg.'\' ");</script>';
                         echo '<SCRIPT LANGUAGE="JavaScript">
                         document.location.href="accueil.php" </SCRIPT>';
                         exit;
              }
          }
       }
    ?>

    Déjà je ne comprends pas tes tests multiples sur $_FILES['fichiers'], puis ta variable $dest_fichier n'existe pas dans ta requête, tu devrais retravailler ta fonction nomfichiers avec comme paramètre $_FILES['fichiers']['name'] pour avoir la bonne variable.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 295
    Points : 87
    Points
    87
    Par défaut
    Merci ca fonctionne j avais pas vu apres modification que la variable n'exister pas à ce moment la.

    Pour les preneurs voici le code modifier:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    <?php
    $dest_dossier = 'C:\wamp\www\rbdc\upload/';
    function nomfichiers ()
    	{
    	$dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 		'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    	$dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier);
    	}
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    if(isset($_FILES['fichiers']))
    	{
    	if($_FILES['fichiers']['size']>0)
    		{
    		$dest_fichier = basename($_FILES['fichiers']['name']);
    		nomfichiers ();
    		$sql = "SELECT COUNT(*) FROM fichiersj WHERE nomFichierj = '".$dest_fichier."'";
    		$res = mysql_query($sql);
    		if($res)
    			{
    			if(mysql_result($res, 0, 0) == 0)
    				{
    				move_uploaded_file($_FILES['fichiers']['tmp_name'], $dest_dossier . $dest_fichier);  
    				$sql3 = "INSERT INTO fichiersj (nomFichierj, numFiche) VALUES ( '".$dest_fichier."', '".$numfiche2."')"; 
    				$result3 = mysql_query($sql3);
    				$msg="Fichier \''.$dest_fichier.'\' et Fiche n°\''.$numfiche2.'\' insérer correctement !"; 
    				}else{
    					$msg="Fichier \''.$dest_fichier.'\' existe déja! Renommer le fichier ou choisissez en un autre.";
    			}
    			//fin du if($res) 
    					}else{
    					$msg="Erreur sql sur le fichier \''.$dest_fichier.'\', \''.$sql.'\'";
    						}
    						echo '<script language=javascript> alert (" \''.$msg.'\' ");</script>'; 
    						echo '<SCRIPT LANGUAGE="JavaScript"> 
    						document.location.href="accueil.php" </SCRIPT>'; 
    						exit; 
    		}
    	}
    ?>
    thx

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. uploader 1 fichier xml dans 1 collection Exist-Db
    Par tigunn dans le forum XQUERY/SGBD
    Réponses: 1
    Dernier message: 20/04/2012, 12h08
  2. Réponses: 5
    Dernier message: 17/12/2007, 17h50
  3. Problème de sélection dans un BDD
    Par calenfeaion dans le forum Requêtes
    Réponses: 8
    Dernier message: 16/09/2006, 16h54
  4. [Upload] upload + écrasé fichier existant
    Par Girzi dans le forum Langage
    Réponses: 4
    Dernier message: 03/07/2006, 12h17
  5. [VB6/mysql]:Problème d'insertion dans une bdd
    Par gaetan.tranvouez dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 14/06/2006, 10h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo