Page 1 sur 1

récupérer 2fichiers de son ordi. Mission Impossible ?

Posté : 11 mai 2006, 14:20
par loveflash
Bonjour,

piti problème... Impossible de récupérer dans ma BDD un fichier PDF et un fichier jpeg à la fois. En effet, mon but étant plus tard l'affichage de l'image et au clic accès au PDF. Enfin là... mal barrée. Voici mes 3 fichiers !

Fichiers CONF.PHP
$host = "localhost";
$bdd = "wall";
$user = "root";
$passwd = "root";

mysql_connect($host,$user,$passwd);
mysql_select_db($bdd);

$chemin_destination_pdf = '/var/www/html/serveurWeb/pdf_wall/pdf/';
$chemin_destination_couv = '/var/www/html/serveurWeb/pdf_wall/couv/';
Fichier FORM.HTML
<form name="form1" method="post" action="insert_pdf.php">

<INPUT type=hidden value=500000 name=MAX_FILE_SIZE>
Rechercher le fichier PDF
<INPUT type=file name=pdf>


Rechercher la couverture
<INPUT type=file name=couv>

<input type="submit" name="Submit" value="Envoyer">
<input type="reset" name="Submit" value="Réinitialiser">

</form>
Le fichier INSERT.PHP
$pdf=$_FILES['pdf']['name'];
$couv=$_FILES['pdf']['name'];

mysql_query("INSERT INTO pdf(pdf, couv) VALUES ('$pdf','$couv')");

move_uploaded_file($_FILES['pdf']['tmp_name'], $chemin_destination_pdf.$_FILES['pdf']['name']);
move_uploaded_file($_FILES['couv']['tmp_name'], $chemin_destination_couv.$_FILES['couv']['name']);
Marche NICKEL pour un fichier nommé "fichier"... Mais là je ne vois pas où peut se trouver le problème.
Merci de votre aide précieuse. Il en va de la vie de mes cheveux !

Posté : 11 mai 2006, 14:30
par Ryle
$pdf=$_FILES['pdf']['name'];
$couv=$_FILES['pdf']['name'];
Ca serait pas plutot un 'couv' que tu attends là ? ;)

Posté : 11 mai 2006, 14:44
par Invité
oui je l'ai vu... mais ça n'a rien résolu :cry:

Posté : 11 mai 2006, 15:08
par Ryle
Damned ! Mais je m'avoue pas vaincu pour autant !!

Solution numéro 2 : Il te manque également le enctype="multipart/form-data" dans ton formulaire pour lui dire qu'il contient également des fichiers et non pas juste des données text/html :)

Code : Tout sélectionner

<form name="form1" method="post" action="insert_pdf.php" enctype="multipart/form-data">

encore un détail ...

Posté : 11 mai 2006, 15:13
par loveflash
Mici de ton aide !! Bon ça marche.... presque :lol:

Je ne comprend pas, IMPOSSIBLE ( vu que c'est le titre du sujet... bref ) d'intégrer mes fichiers PDF ! WHY ?? Voici le nouveau code !

conf.php
$host = "localhost";
$bdd = "wall";
$user = "root";
$passwd = "root";

mysql_connect($host,$user,$passwd);
mysql_select_db($bdd);

$chemin_destination_pdf = '/Applications/MAMP/htdocs/pdf_wall/pdf/';
$chemin_destination_couv = '/Applications/MAMP/htdocs/pdf_wall/couv/';
form.php
<form method="POST" action="insert_pdf.php" enctype="multipart/form-data">
<!-- Limiter la taille des fichiers à 5Mo -->
<input type="hidden" name="MAX_FILE_SIZE" value="5000000" />
<fieldset>
<legend>Envoi de fichiers</legend>
<p>
<label for="pdf">PDF :</label>
<input type="file" name="pdf" /></p>
<p>
<label for="couv">Couverture :</label>
<input type="file" name="couv" /></p>
<p><input type="submit" name="envoi" value="Envoyer les fichiers" /></p>
</legend>
</fieldset>
</form>
enfin ... insert.php
include("conf.php");

$pdf=$_FILES['pdf']['name'];
$couv=$_FILES['couv']['name'];

mysql_query("INSERT INTO pdf(pdf, couv) VALUES ('$pdf','$couv')");

move_uploaded_file($_FILES['pdf']['tmp_name'], $chemin_destination_pdf.$_FILES['pdf']['name']);
move_uploaded_file($_FILES['couv']['tmp_name'], $chemin_destination_couv.$_FILES['couv']['name']);
Je me demande s'il ne faudrait pas avertir que je veux un pdf... j'ai toujours essayé avec des images, jamais sur des fichiers. :?

Re: encore un détail ...

Posté : 11 mai 2006, 15:13
par Invité
Mici de ton aide !! Bon ça marche.... presque :lol:

Je ne comprend pas, IMPOSSIBLE ( vu que c'est le titre du sujet... bref ) d'intégrer mes fichiers PDF ! WHY ?? Ils sont dans la BDD, mais pas dans le dossier.

Voici le nouveau code !

conf.php
$host = "localhost";
$bdd = "wall";
$user = "root";
$passwd = "root";

mysql_connect($host,$user,$passwd);
mysql_select_db($bdd);

$chemin_destination_pdf = '/Applications/MAMP/htdocs/pdf_wall/pdf/';
$chemin_destination_couv = '/Applications/MAMP/htdocs/pdf_wall/couv/';
form.php
<form method="POST" action="insert_pdf.php" enctype="multipart/form-data">
<!-- Limiter la taille des fichiers à 5Mo -->
<input type="hidden" name="MAX_FILE_SIZE" value="5000000" />
<fieldset>
<legend>Envoi de fichiers</legend>
<p>
<label for="pdf">PDF :</label>
<input type="file" name="pdf" /></p>
<p>
<label for="couv">Couverture :</label>
<input type="file" name="couv" /></p>
<p><input type="submit" name="envoi" value="Envoyer les fichiers" /></p>
</legend>
</fieldset>
</form>
enfin ... insert.php
include("conf.php");

$pdf=$_FILES['pdf']['name'];
$couv=$_FILES['couv']['name'];

mysql_query("INSERT INTO pdf(pdf, couv) VALUES ('$pdf','$couv')");

move_uploaded_file($_FILES['pdf']['tmp_name'], $chemin_destination_pdf.$_FILES['pdf']['name']);
move_uploaded_file($_FILES['couv']['tmp_name'], $chemin_destination_couv.$_FILES['couv']['name']);
Je me demande s'il ne faudrait pas avertir que je veux un pdf... j'ai toujours essayé avec des images, jamais sur des fichiers. :?

Posté : 11 mai 2006, 15:20
par Ryle
beuh non y a pas de raison... c'est du transfert de fichier, derriere php se fiche completement de savoir si tu envois du gif, du jpg, du pdf, du flash, de l'excel ou du zop :)

option numéro 3 : ajoute des "or die(mysql_error())" sur ta requête, y a ptet un soucis cote bdd, et ca permettrait d'avoir le message d'erreur :
mysql_query("INSERT INTO pdf(pdf, couv) VALUES ('$pdf','$couv')") or die(mysql_error());