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

Signaler
Messages postés
229
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
25 juillet 2013
-
Messages postés
229
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
25 juillet 2013
-
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

Messages postés
229
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
25 juillet 2013

insérer image ou fichiers je précise
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
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
Messages postés
229
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
25 juillet 2013

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é
Messages postés
229
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
25 juillet 2013

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>

Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
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 !
Messages postés
229
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
25 juillet 2013

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
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
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 !
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
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 !
Messages postés
229
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
25 juillet 2013

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>
Messages postés
229
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
25 juillet 2013

mais ça marche pas (le code pour afficher les images)
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
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 !
Messages postés
229
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
25 juillet 2013

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
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
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 !
Messages postés
229
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
25 juillet 2013

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>

Messages postés
229
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
25 juillet 2013

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.
Messages postés
229
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
25 juillet 2013

ensuite je comprend pas ca :


c'est le lien vers le dossier www/upload_fichier (qui contient les images ) ou quel lien ?
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
oui
Bonne programmation !
Messages postés
229
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
25 juillet 2013

je viens de mettre :

echo "";


mais ca marche pas
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
je vais me coucher
demain je regarde ça de plus prés ++

Bonne programmation !
Messages postés
229
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
25 juillet 2013

ok merci bonne nuit