Inserrer des fichier dans ma base de donne ou des fichiers en php (base mysql)

msi079 Messages postés 229 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013 - 15 déc. 2011 à 13:55
msi079 Messages postés 229 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013 - 17 déc. 2011 à 00:01
slt. je dois insérer des images dans ma base de données . alors j'ai pris un code sur le net que je crois intéressant. comme je suis débutant en php je maîtrise pas les different étape du code . quelqu'un pourrait m'expliquer dans les détails (étape par étape ) ce que je dois faire pour réussir ce code .
1. vérifier si le code est bon .
2.comment créer la table renseigner dans ma base (les champs quelle dois contenir).
voici le code :
<?php
//on vérifies que le champ est bien rempli:
if(!empty($_FILES["fichier_choisi"]["name"]))
{
//nom du fichier choisi:
$nomFichier    = $_FILES["fichier_choisi"]["name"] ;
//nom temporaire sur le serveur:
$nomTemporaire = $_FILES["fichier_choisi"]["tmp_name"] ;
//type du fichier choisi:
$typeFichier   = $_FILES["fichier_choisi"]["type"] ;
//poids en octets du fichier choisit:
$poidsFichier  = $_FILES["fichier_choisi"]["size"] ;
//code de l'erreur si jamais il y en a une:
$codeErreur    = $_FILES["fichier_choisi"]["error"] ;
 
//chemin qui mène au dossier qui va contenir les fichiers uplaod:
$chemin = "./upload_fichier/" ;
 
if(copy($nomTemporaire, $chemin.$nomFichier))
echo("
l'upload a réussi") ;
else
echo("
l'upload a échoué") ;
}//fin if
else
{
echo("Vous n'avez pas choisit de fichier!!
") ;
echo("Retour") ;

}//fin else
?>







<?php 
      if (isset($_POST["bouton_submit"])) {
  
 
    $_POST["fichier_choisi"]="";  
       

$statut = $_POST['fichier_choisi'];

$db = mysql_connect('localhost', 'root', '') or die(mysql_error());
        mysql_select_db('go&ga',$db) or die(mysql_error());



// on fait l'INSERT dans la base de données
$sql= "INSERT INTO renseigner(fichier_choisi) VALUES ('$fichier_choisi')";
  		
  		$result = mysql_query($sql) or die(mysql_error());

if (!$result) {
            die('linsertion n a pas réussie !!! : ' . mysql_error());

}

//header("Location:renseignement.php?add=ok"); // redirection si création réussie
}



?>




<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>


<form action="./upload.php" method="post" enctype="multipart/form-data" name="formulaire_envoi_fichier" id="formulaire_envoi_fichier">
  
  

  

  
</form>

</html>

22 réponses

msi079 Messages postés 229 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013
15 déc. 2011 à 14:05
insérer image ou fichiers je précise
0
cod57 Messages postés 1654 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
15 déc. 2011 à 14:38
bonjour

remarque il faudra protéger ton upload
le script est basique et sans protection
mais il fonctionne


upload.php
<?php
/*ceci est upload php*/

/*transfert du fichier client vers le repertoire du serveur*/

//on vérifies que le champ est bien rempli:
if(!empty($_FILES["fichier_choisi"]["name"]))
{
//nom du fichier choisi:
$nomFichier    = $_FILES["fichier_choisi"]["name"] ;
//nom temporaire sur le serveur:
$nomTemporaire = $_FILES["fichier_choisi"]["tmp_name"] ;
//type du fichier choisi:
$typeFichier   = $_FILES["fichier_choisi"]["type"] ;
//poids en octets du fichier choisit:
$poidsFichier  = $_FILES["fichier_choisi"]["size"] ;
//code de l'erreur si jamais il y en a une:
$codeErreur    = $_FILES["fichier_choisi"]["error"] ;
 
//chemin qui mène au dossier qui va contenir les fichiers uplaod:
$chemin = "./upload_fichier/" ;
 
if(copy($nomTemporaire, $fichier_choisi = $chemin.$nomFichier))
echo("
l'upload a réussi : <hr >") ;
else
echo("
l'upload a échoué") ;

}//fin if
else
{
echo("Vous n'avez pas choisit de fichier!!
") ;
echo("Retour") ;

}//fin else


/*partie sql insertion du chemin*/
 
if (isset($_POST["bouton_submit"])) {

//$_POST["fichier_choisi"]="";  


//$statut = $_POST['fichier_choisi'];

/*a personnaliser ton serveur ta base ...*/
$db = mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_select_db('a',$db) or die(mysql_error());

/*on insere le chemin vers le ficihier uploade*/

// on fait l'INSERT dans la base de données
$sql= "INSERT INTO renseigner (fichier_choisi) VALUES ('$fichier_choisi')";

$result = mysql_query($sql) or die(mysql_error());

if (!$result) {
    die('linsertion n a pas réussie !!! : ' . mysql_error());

}

//header("Location:renseignement.php?add=ok"); // redirection si création réussie
} else {

// form pas submit

}
?>



choix_fichier.html
<!--choix_fichier.html-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>


<form action="./upload.php" method="post" enctype="multipart/form-data" name="formulaire_envoi_fichier" id="formulaire_envoi_fichier">
  
  

  

  
</form>

</html>


il faut une table
0
msi079 Messages postés 229 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013
15 déc. 2011 à 15:45
si je comprend bien il me faut créer 2 fichiers qui sont :
upload.php et choix_fichier.html
. j'ai créer 2 fichiers upload.php et choix_fichier.html + la tables comme indiquée ci-dessus mais ça m'affiche : l'upload a échoué
0
msi079 Messages postés 229 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013
15 déc. 2011 à 16:00
1. si je comprend bien il me faut créer 2 fichiers qui sont :
upload.php et choix_fichier.html
. j'ai créer 2 fichiers upload.php et choix_fichier.html + la tables comme indiquée ci-dessus mais ça m'affiche : l'upload a échoué

2. En plus j'ai remarqué que la table renseigner contient quelque chose . alors j'ai fait un code pour afficher les ficiers et images mais ça n'affiche pas voici le code :




<?php
    $_POST["fichier_choisi"]= "";       
    $nom1=trim($_POST["fichier_choisi"]);

$color=array('#333333','#999999');
$i=0;
          // Connexion à la BDD
 mysql_connect("localhost","root","") or die("erreur de connexion");
 // Sélection de la base de données
mysql_select_db("DirectVictime") or die("Erreur de selection de la BD");

/*faut securiser*/ 
// on crée la requête SQL
$sql = "SELECT fichier_choisi FROM renseigner
          WHERE  id='5'";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
$res = mysql_num_rows($req);                               // 4 


?> 




<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
<style type="text/css">
<!--
.Style3 {color: #FFFFFF}
.Style6 {
color: #0000FF;
font-style: italic;
font-weight: bold;
}
-->
</style>
</head>





  >>> IMAGE DE LA VICTIMES DE GUERRE EN COTE D'IVOIRE <<<  



 


 Accueil  |

----

PHOTO  |

<?php
while ($liste_etu =mysql_fetch_assoc($req)) {
$j=$i%2;

?>

----

<?php echo $liste_etu['fichier_choisi'] ?>,

<?php
}
?>


</html>

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cod57 Messages postés 1654 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
15 déc. 2011 à 16:11
tu dois aussi avoir un repertoire sur ton site
$chemin = "./upload_fichier/" ;

ex dans un repertoire xxx du site

upload.php
choix_fichier.html
/upload_fichier/

tu accèdes après aux images dans un lien



dans la base tu as upload_fichier/?

Bonne programmation !
0
msi079 Messages postés 229 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013
15 déc. 2011 à 16:19
merci de bien vouloir m'aider .
je comprend pas bien .
1. j'ai dans mon repertoire www mon repertoire principal (qui contient mes fichiers )
je viens de créer un repertoire (upload_fichier) dans www .


2. à quel niveau dans mon code je dois mettre le lien pour accéder aux images
0
cod57 Messages postés 1654 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
15 déc. 2011 à 16:31
www/ correspond à http://localhost/

(local wamp)
ou

http://tonsite.fr/
chez ton hebergeur

donc tu mets le form html et upload.php dans www

http://tonsite.fr/upload_fichier/?
http://localhost/upload_fichier/?
et tu auras les fichiers tu peux aussi les afficher depuis un requéte sql


Bonne programmation !
0
cod57 Messages postés 1654 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
15 déc. 2011 à 16:33
vérifie aussi que le répertoire est en chmod 755
ou 777 afin que le client puisse charger dans ce répertoire

Bonne programmation !
0
msi079 Messages postés 229 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013
16 déc. 2011 à 16:55
merci cod75 pour ton aide mais je suis encore loin de l'objectif que je veux atteindre.
voici de le code pour afficher à l'aide de requète les image de chaque victime :
<?php
    $_POST["fichier_choisi"]= "";       
    $nom1=trim($_POST["fichier_choisi"]);

$color=array('#333333','#999999');
$i=0;
          // Connexion à la BDD
 mysql_connect("localhost","root","") or die("erreur de connexion");
 // Sélection de la base de données
mysql_select_db("DirectVictime") or die("Erreur de selection de la BD");

/*faut securiser*/ 
// on crée la requête SQL
$sql = "SELECT fichier_choisi FROM renseigner

          WHERE  id='5'";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
$res = mysql_num_rows($req);                               // 4 


?> 




<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
<style type="text/css">
<!--
.Style3 {color: #FFFFFF}
.Style6 {
color: #0000FF;
font-style: italic;
font-weight: bold;
}
-->
</style>
</head>





  >>> IMAGE DE LA VICTIMES DE GUERRE EN COTE D'IVOIRE <<<  



 


 Accueil  |

----

PHOTO  |

<?php
while ($liste_etu =mysql_fetch_assoc($req)) {
$j=$i%2;

?>

----

<?php echo $liste_etu['fichier_choisi'] ?>,

<?php
}
?>


</html>
0
msi079 Messages postés 229 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013
16 déc. 2011 à 16:56
mais ça marche pas (le code pour afficher les images)
0
cod57 Messages postés 1654 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
16 déc. 2011 à 19:40
bonsoir

le code d'upload fonctionne !
l'affichage faut utiliser


que veux tu faire au juste ?
afficher le images uploadées une a une

Bonne programmation !
0
msi079 Messages postés 229 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013
16 déc. 2011 à 19:53
merci cod75 pour ta disponibilité .
le projet consiste a identifier des victime de guerre .
j'ai crée un masque de saisi qui me permet d'enregistrer les information sur les victimes.
mais on me demande de scanner les fiches (fiches de recensement des victimes : environs 3 à quatre fiches par victime) concernant les victimes qu'on devra par la suite afficher quand cela sera nécessaire .

je vous avoue ça me bloque terriblement :
pour le formulaire et la basse de donnée pas de problème .
mais je bloque sur enregistrement des fiches , liaisons de chaque fiche a la victime et l'affichage par une requête .
pour la requête ,sur la même page on aura les information sur la victime et pouvoir voir ces fiches ( exemple son reçu . puisque après les victimes seront dégommages).
j'espère que je me suis fait bien comprendre .
merci de bien vouloir me guider et m'aider pas à pas . voir meme me proposer des solution rapide et efficace
0
cod57 Messages postés 1654 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
16 déc. 2011 à 20:38
en fait peux tu déjà appeler les fiches individuelles il suffit d'inclure un formulaire upload + un listing des photos déjà uploadées

je ferai une table images

id auto increment pk
id victime
photo1
photo2
photo3
photo4

un formulaire dans la page de details avec lorsque tu appeles la fiche individuelle un hidden input qui contient en value l'id de la victime que tu postes dans la table images et tu listes les images déjà présente





Bonne programmation !
0
msi079 Messages postés 229 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013
16 déc. 2011 à 20:50
voici le code pour afficher les image que je tente de realiser.
mais ca marche pas .




<?php
    $_POST["fichier_choisi"]= "";       
   // $nom1=trim($_POST["fichier_choisi"]);

$color=array('#333333','#999999');
$i=0;
          // Connexion à la BDD
 mysql_connect("localhost","root","") or die("erreur de connexion");
 // Sélection de la base de données
mysql_select_db("DirectVictime") or die("Erreur de selection de la BD");

/*faut securiser*/ 
// on crée la requête SQL
$sql = "SELECT fichier_choisi FROM renseigner
          WHERE  id='5'";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
$res = mysql_num_rows($req);  
if (!$res) { $message = 'Requête invalide : ' . mysql_error() . "\n"; $message .= 'Requête complète : ' . $query; die($message); }                             // 4 


?> 




<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
<style type="text/css">
<!--
.Style3 {color: #FFFFFF}
.Style6 {
color: #0000FF;
font-style: italic;
font-weight: bold;
}
-->
</style>
</head>





  >>> IMAGE DE LA VICTIMES DE GUERRE EN COTE D'IVOIRE <<<  



 


 Accueil  |

----

PHOTO  |

<?php
while ($liste_etu =mysql_fetch_assoc($req)) {
$j=$i%2;

?>

----

<?php
//echo $liste_etu['fichier_choisi']
echo "";
?>,

<?php
}
?>


</html>

0
msi079 Messages postés 229 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013
16 déc. 2011 à 21:11
voici un aperçu de ma base de donnée :

table victime

CREATE TABLE IF NOT EXISTS `victime` (
`matricule` int(5) NOT NULL AUTO_INCREMENT,
`nom` varchar(100) NOT NULL,
.
.
.
.

PRIMARY KEY (`matricule`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;


table renseigner :

CREATE TABLE IF NOT EXISTS `renseigner` (
`id` int(5) NOT NULL AUTO_INCREMENT,
`fichier_choisi` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;


au fait le fait d'avoir plusieurs fichier numériser pour une victime me pose probleme
comment lier les tables.
0
msi079 Messages postés 229 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013
16 déc. 2011 à 21:26
ensuite je comprend pas ca :


c'est le lien vers le dossier www/upload_fichier (qui contient les images ) ou quel lien ?
0
cod57 Messages postés 1654 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
16 déc. 2011 à 21:51
oui
Bonne programmation !
0
msi079 Messages postés 229 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013
16 déc. 2011 à 22:06
je viens de mettre :

echo "";


mais ca marche pas
0
cod57 Messages postés 1654 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
16 déc. 2011 à 22:25
je vais me coucher
demain je regarde ça de plus prés ++

Bonne programmation !
0
msi079 Messages postés 229 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013
16 déc. 2011 à 23:10
ok merci bonne nuit
0
Rejoignez-nous