Page 1 sur 3

comment trouver le chemin d' une image uploder dans ce sript

Posté : 15 déc. 2005, 21:08
par chris2000
bonjour,
comment trouver le chemin d' une image uploder dans ce script, afin de l'inserer dans une base de donnée; et quel serait la manipulation??

mercid'avance de votre aide,


http://www.phpfrance.com/tutoriaux/inde ... e-fichiers

Posté : 15 déc. 2005, 21:16
par Truc
Salut,
le chemin est celui contenu dans cette variable:
$dest_dossier = '/home/damien/photos/';
si tu n'as pas plusieurs dossier d'upload il n'est peut etre pas nécéssaire d'enregistrer tout le chemin dans la BD mais seulement le nom de du fichier, ici:
$dest_fichier
et lors de l'affichage (ds le cas d'une image),tu ecris:
<img src="/home/damien/photos/<?echo $variable_nomFichier_de_la_BD;?>" >

Posté : 16 déc. 2005, 15:27
par Invité
salut
merci beaucoup pour ta reponse , mais:

j'ai donc crée la base avec mon champ 'photo'
et rajouté donc la variable $dest_fichier dans la requete sql suivante:

$query = "INSERT INTO $table(date, titre, lanews, url, moturl, pseudo, motcle, target, icone, photo) VALUES ('$date', '$titre', '$lanews', '$url', '$moturl', '$redact', '$motcle', '$target', '$icone', '$dest_dossier')";

lors de la saisi dans le formulaire ( texte + image),
toute les données s'insere correectement dans la base , sauf le chemin du fichier image ! il n'y a rien !!,
l'image se load correctement sur le seurveur dans un fichier upload

Mais TOUJOURS PAS LE CHEMIN DANS LA BASE,

Merci de me dire ou es mon erreur et comment y remedié,

merci de votre aide :!!!! :wink:

Posté : 16 déc. 2005, 15:44
par DocType
- vérifie le type de ton champ photo
- fais un echo de ta requête

Posté : 16 déc. 2005, 15:48
par mere-teresa
j'ai donc crée la base avec mon champ 'photo'
et rajouté donc la variable $dest_fichier dans la requete sql suivante:

$query = "INSERT INTO $table(date, titre, lanews, url, moturl, pseudo, motcle, target, icone, photo) VALUES ('$date', '$titre', '$lanews', '$url', '$moturl', '$redact', '$motcle', '$target', '$icone', '$dest_dossier')";
Regarde bien ce qui est en gras.

Posté : 16 déc. 2005, 15:50
par Invité
j'ai mis "varchar(120) "

comment on procede pour un echo sur ma requete..?
çà ser à quoi.? :wink:
merciiiii

Posté : 16 déc. 2005, 15:52
par DocType
j'ai donc crée la base avec mon champ 'photo'
et rajouté donc la variable $dest_fichier dans la requete sql suivante:

$query = "INSERT INTO $table(date, titre, lanews, url, moturl, pseudo, motcle, target, icone, photo) VALUES ('$date', '$titre', '$lanews', '$url', '$moturl', '$redact', '$motcle', '$target', '$icone', '$dest_dossier')";
Regarde bien ce qui est en gras.
+1 :wink:

Posté : 16 déc. 2005, 15:55
par mere-teresa
Tu as mis ta requête dans une variable, nommmée $query, pour voir le texte de la variable, tu fais echo $query;

Manuel PHP sur echo()

Posté : 16 déc. 2005, 16:05
par Invité
je l'ai fait
et il n'y a rien dans le champs

et maintenant :cry:?

Posté : 16 déc. 2005, 16:07
par mere-teresa
Tu n'as pas mis le même nom de variable, peut-être ? Relis nos messages.

Merci

Posté : 16 déc. 2005, 16:10
par Invité
ah non, j'ai bien mis les bonnes

c un erreur quand j'ai taper là


je vois vraiment pas pourquoi.? :roll:

Posté : 16 déc. 2005, 16:13
par mere-teresa
Où remplis tu cette variable $dest_fichier ?
Que donne exactement (copie/colle s'il te plait) le echo $query;
?

Posté : 16 déc. 2005, 16:16
par Invité
l'echo de la requete donne ceci

Code : Tout sélectionner

INSERT INTO espritnews(date, titre, lanews, url, moturl, pseudo, motcle, target, icone, photo) VALUES ('2005-12-16 15:03:08', 'wxc', 'wxcwxc', 'http://', '', '', '', '_blank', '', '')
et voila le script:
////ajout image
if(isset($_FILES['photo'])){  // params  unset($erreur);  
$extensions_ok = array('png', 'gif', 'jpg', 'jpeg');
$taille_max = 100000;
$dest_dossier = 'upload/';
// utilisez également des slashes sous windows : 
$dest_dossier  = 'upload/';
// vérifications
if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok ) )
  {    $erreur = 'Veuillez sélectionner un fichier de type png, gif ou jpg !';    }
elseif( file_exists($_FILES['photo']['tmp_name'])
and filesize($_FILES['photo']['tmp_name']) > $taille_max)
{    $erreur = 'Votre fichier doit faire moins de 500Ko !';  }
// 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
move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier . $dest_fichier);  }

}

//fin ajout image
merci beaucoup !!!!!!!!!!!!!!!!!!!!!!!!!!!

Posté : 16 déc. 2005, 16:25
par mere-teresa
Donc dans ta requête tu mets $dest_dossier ou $dest_fichier ?
Et le fichier est-il bien uploadé ?

Posté : 16 déc. 2005, 16:28
par Invité
et oui voila !
j'ai essayé les deux mais rien !!


oui le fichier est parfaitement uploder

je comprend vraiment pourquoi çà veut pas reconnaitre ces varaibles dans la requete;

????????????