Renommer variable avant traitement

Résolu
Bonjour,

Je veux renommer un nom de fichier à inscrire dans ma base. Mais avant, je veux vérifier si le nom existe déjà. Si c'est le cas, je renomme le nom à inscrire.

$fic = explode(".", $fichier);

 	$doublon = "SELECT * FROM photos WHERE nom='$fic[0]'"; //recherche si il existe un nom déjà existant
	$result = mysql_query($doublon,$link) or die ('Erreur : '.mysql_error() );

	if (file_exists("$result")) 
	{
		$fic[0] = $fic[0]$idph; //je ne sais pas trop en quoi le renommer ..... de toute façon ça ne fofonnctionne pas .....
	}


$fichier est le nom du fichier
$idph est l'identifiant unique

Merci
Configuration: Windows Vista Internet Explorer 7.0

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Salut,je suis pas un expert php..mais quand tu as $result, si tu parcours pas les lignes qu'il y'a dans $result
    if (file_exists("$result")) sera toujours faux...
    un truc du style pourra peut-etre t'aider!!
    while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
    {
    if (file_exists($result['le_nom_du_champs']))
    blablabla....
    }
    @+

    1. J'ai trouvé :

      $fic = explode(".", $fichier);

      //------------------verif doublon fichier-----------------

      $verif = "SELECT nom,doublon FROM photos where nom like '$fic[0]'";
      $result = mysql_query($verif,$link) or die ('Erreur : '.mysql_error() );
      while($row = mysql_fetch_row($result))
      {
      //récup des infos de $result
      $nom = $row[0];
      $doublon = $row[1];

      $doublon2 = $doublon + 1;

      //mise à jour du champ "doublon" pour l'élément déjà existant
      $maj_doub = mysql_query("UPDATE photos SET doublon='$doublon2' WHERE nom='$row[0]'");

      $doublon3 = $doublon2 + 1; //champ doublon du nouvel enregistrement
      $fic[0] = $fic[0].$doublon2; //nouveau nom du fichier sans son extension
      $fichier = "$fic[0].$fic[1]"; //nouveau nom du fichier avec son extension
      }