Page 1 sur 1

code pour envoyer nom fichier upload dans bdd

Posté : 18 juin 2010, 19:11
par jimix
bonsoir à tous,
je me permets d'ouvrir un autre topic car l'ancien ouvert comporté trop de page et n'a pas abouti malgré l'aide de certains.
je cherche un script qui permet d'envoyer le nom d'un fichier uploder dans une bdd.

j'ai un script qui permet d'enregistrer le fichier mais je ne trouve rien pour envoyer le nom à moins que vous ayez une idée qui me permettrait de reconnaitre le fichier uploader par un de mes membres.

par avance merci

Re: code pour envoyer nom fichier upload dans bdd

Posté : 18 juin 2010, 22:01
par Ryle
Quand tu effectues le move_uploaded_file(), tu spécifies le chemin et le nom du fichier ?

Qu'est ce qui t'empêche d'utiliser ce même nom de fichier dans une requête sql pour le stocker là où tu en as besoin ?
if (move_uploaded_file($_FILES['xxx']['tmp_name'], $nomDuFichier)) {
   $sql = "UPDATE maTable SET nom_du_fichier = '".$nomDuFichier."' 
      WHERE id = ". $idDuUserKaUploadéLeFichier;
}

Re: code pour envoyer nom fichier upload dans bdd

Posté : 20 juin 2010, 14:08
par jimix
Merci ryle pour ta rep.

j'ai intégré le code et cela me donne un message d'erreur. peux tu me dire si j'ai bien mis le code et pourquoi cela me donne un mess d'erreur. dans ma base le nom est nomDuFichier.
pour info je suis novice
ci dessous mon code:
<?php

if(isset($_FILES['photo']))
{
  // params
  unset($erreur);
  $extensions_ok = array('png', 'gif', 'jpg', 'jpeg','doc');
  $taille_max = 100000;
  $dest_dossier = 'c:/texte';
  // vérifications
  if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok ) )
  {
    $erreur = 'Veuillez sélectionner un fichier de type png, gif, jpg ou doc !';  
  }
  elseif( file_exists($_FILES['photo']['tmp_name']) 
          and filesize($_FILES['photo']['tmp_name']) > $taille_max)
  {
    $erreur = 'Votre fichier doit faire moins de 100Ko !';
  }
  // copie du fichier
  if(!isset($erreur))
  {
    $dest_fichier = basename($_FILES['photo']['name']);
    // formatage nom fichier
    // enlever les accents
    $dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    // remplacer les caracteres autres que lettres, chiffres et point par _
    $dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier);
    // copie du fichier
    if (move_uploaded_file($_FILES['xxx']['tmp_name'], $nomDuFichier)) {
   $sql = "UPDATE maTable SET nom_du_fichier = '".$nomDuFichier."'
      WHERE id = ". $idDuUserKaUploadéLeFichier;
}
?>
<?php
include_once('bas.php');
?>
ci dessous le code d'erreur

Warning: addslashes() expects parameter 1 to be string, array given in C:\Program Files\EasyPHP-5.3.1\www\site\fonctions.php on line 7

par avance merci

Re: code pour envoyer nom fichier upload dans bdd

Posté : 20 juin 2010, 15:25
par fab
Je suppose que ce n'est pas le fichiers "fonctions.php" que tu nous montres ici alors que le message d'erreur est assez clair..

Re: code pour envoyer nom fichier upload dans bdd

Posté : 20 juin 2010, 15:30
par jimix
oui voila le fichier fonction. mais le code d'erreur signifie quoi?? PAR AVANCE MERCI
<?php
function formulaires($valeur)
	{
	$valeur=trim(htmlspecialchars(addslashes($valeur)));
	return $valeur;
	}


?>

Re: code pour envoyer nom fichier upload dans bdd

Posté : 20 juin 2010, 17:02
par Nours312
mais le code d'erreur signifie quoi??
http://translate.google.fr/#en|fr|Warni ... ay%20given

@++

Re: code pour envoyer nom fichier upload dans bdd

Posté : 20 juin 2010, 18:22
par jimix
MERCI MAIS LORSQU ON EST NOVICE CHAUD A COMPRENDRE CELA SIGNIFIE QUOI???

Attention: addslashes () s'attend à ce que le paramètre 1 à chaîne, un tableau donné

Re: code pour envoyer nom fichier upload dans bdd

Posté : 20 juin 2010, 18:59
par AB
Attention: addslashes () s'attend à ce que le paramètre 1 soit une chaîne, un tableau a été donné.

dans ce cas c'est que la variable "$valeur" que tu transmet à ta fonction "formulaires" est un tableau. Or les fonctions "trim", "htmlspecialchars" et "addslashes" que tu utilise dans cette fonction sont prévues pour traiter des chaines de caractères et non pas pour traiter des tableaux.

Mais au fait elle sert à quoi cette fonction ?


A part ça pour info il y a une classe de téléchargement ici et dans ce même lien un tuto sur l'upload (au message précédent). Tu pourrais soit l'utiliser soit t'en inspirer pour un renommage des fichiers si déjà existants sur le serveur. Car dans ton script le dernier fichier téléchargé écrasera celui déjà existant sur le serveur s'il porte le même nom.

Re: code pour envoyer nom fichier upload dans bdd

Posté : 20 juin 2010, 19:07
par jimix
merci pour ta rep.
à vrai dire je ne sais pas trop j'ai repris un script que je modifie