Enregistrer un fichier dans la base de données

java99 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
java99 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -
je souhaite enregistré un fichier dans la base et ces fichiers st stockées dans le serveur. kan je fai sa enregistre juste le nom du fichier mais pas le contenu
A voir également:

1 réponse

hharchi9 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   24
 
Bonjour,

Tout d'abord, je vous déconseille d'enregistrer directement le fichier dans la base de données. Préférez enregistrer le chemin d'accès au fichier sur le serveur (qui est beaucoup moins lourd !).

Sinon, lorsque vous avez un problème avec un script, il est préférable de le donner pour que l'on puisse voir ce qui ne va pas,

Cordialement,

hharchi9.
1
java99 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
okay merci du conseil
mais maintenant j'aimerai avoir le script pour enregistrer le chemin d'accès du fichier
0
java99 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
$cv=$_FILES['cv'];
$motivation=$_FILES['motivation'];
$demande=$_FILES['demande'];
//echo "test1";
if(isset($cv) && isset($motivation) && isset($demande))
{
$infos = pathinfo($cv['name']);
$infos1 = pathinfo($motivation['name']);
$infos2 = pathinfo($demande['name']);
$extension_upload = $infos['extension'];
$extension_upload1 = $infos1['extension'];
$extension_upload2 = $infos2['extension'];
$extensions_autorisees = array('jpg','pdf','txt','docx');

/*$File = new FileFromDB($_FILES['file']['name']);
$File->upload($_FILES['file']);
$message = 'Votre fichier à bien été ajouté';
echo "test2";*/
if(in_array($extension_upload ,$extensions_autorisees) && in_array($extension_upload1 , $extensions_autorisees) && in_array($extension_upload2 , $extensions_autorisees))
{
if($cv['size']<=100000000 || $motivation['size']<=100000000 || $demande<=100000000)
{
move_uploaded_file($cv['tmp_name'],"../fichier/".$cv['name']);
move_uploaded_file($motivation['tmp_name'],"../fichier/".$motivation['name']);
move_uploaded_file($demande['tmp_name'],"../fichier/".$demande['name']);

$doc=new Document(4,$_SESSION['id'],4,null,null,null,null,$cv.",".$motivation.",".$demande);
$docu=new DocumentDAO();
$docu->Add($doc);

$prod="CALL sp_suiviaction_insert('".$_SESSION['id']."')";
mysql_query($prod);
?><script>alert('Docoment envoye avec success');
window.parent.location = "services.php";
</script>
<?php
}
else
{
?><script>alert('Docoment trop gros');
window.parent.location = "services.php";
</script>
<?php
}
}
else
{
?><script>alert('Vous n''avez pas entré l''extension demandé');
window.parent.location = "stage.php";
</script>
<?php
}
}
else
{
?><script>alert('Aucun fichier selectionner');
window.parent.location = "stage.php";
</script>
<?php
}
voici le script que j'utilise
0
hharchi9 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   24
 
Il suffit d'ajouter le script de connexion à la bdd en haut (ici en PDO):

try
{
	// On se connecte à MySQL 
	$bdd = new PDO(sprintf('mysql:host=%s;dbname=%s', $host, $dbname), $user, $pass); //paramètres à définir !
	$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(Exception $e)
{
	// En cas d'erreur, on affiche un message et on arrête tout
	die('Erreur : '.$e->getMessage());
}


Après l'upload, on fait une requête :

$chemin="../fichier/".$motivation['name'];
$query=$bdd->prepare('INSERT INTO table (nom,chemin) VALUES (:nom, :chemin)');
$query->execute(array(
':nom' => $nom,
':chemin' => $chemin));
$query->CloseCursor(); //On ferme le curseur



A toi d'adapter le code à ton script
0
java99 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   > hharchi9 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention  
 
:-) merci
0