aide pour vérifier si un fichier est uploadé

aide pour vérifier si un fichier est uploadé - PHP - Programmation

Marsh Posté le 29-09-2006 à 10:40:50    

Bonjour tout le monde,
 
j'ai un formulaire pour uploader un fichier.
à la soumission du formulaire, je crée un PDF qui est ensuite enregistré dans un dossier puis envoyé par mail.
Ce PDF m'indique si oui ou non il y a un document fournis (si oui, il indique le nom de la piece jointe, si non indique "RAS" ).
ça, ça marche.
 
Par contre, à l'envoi du mail, ça ne marche pas qd je n'ai pas de piece jointe :
mon PDF indique bien "RAS" mais je me retrouve avec un fichier "temp" dans mon mail (le nom du dossier temp de mon move_uploaded_file en fait).
Comment faire pour ajouter une condition du genre :

Code :
  1. if (le champ du formulaire pour input type="file" est rempli)
  2. {
  3. j'envoie le contenu de cet input en pièce jointe
  4. }
  5. else
  6. {]


j'ai essayé déjà avec :

  • if(move_uploaded_file($doc_joint_temp, $chemin_doc_joint))
  • if (file_exists($chemin_doc_joint))
  • if (!empty($_FILES['doc_joint']))

mais rien n'y fait.
 
Voici la partie de code qui nous interesse :

Code :
  1. function envoi_mail($name_from, $mail_from, $name_to, $mail_to)
  2. {
  3. include '../../admin/variables.php';
  4. $utilisateur=$_POST['utilisateurs'];
  5. $doc_joint_temp=$_FILES['doc_joint']['tmp_name'];
  6. $chemin_doc_joint= $temp.$_FILES['doc_joint']['name'];
  7. $description=$_POST['rte1'];
  8. $projet=$_POST['projet'];
  9. $today = date ("j-m-Y" );
  10.       //creation nouveau mail (taille MAX, "norme)"
  11.       $mon_mail = new html_mime_mail(4096000, "iso-8859-1" );
  12.       //fichier pdf créé grâce à la fonction generation_pdf() en piece jointe
  13.       $nom_dde_envoye="Demande_Fabrication $utilisateur $projet.pdf";
  14.   $mon_mail->add_attach(generation_pdf(), "$nom_dde_envoye", "application/octet-stream" );
  15. //if(move_uploaded_file($doc_joint_temp, $chemin_doc_joint))
  16. if (file_exists($chemin_doc_joint))
  17. //if (!empty($_FILES['doc_joint']))  
  18. {
  19.   //Les pièces jointes
  20. //ça me plante les 3 lignes suivantes !!!! (logique....)
  21. $fp = fopen("$chemin_doc_joint", "r" );
  22. $bin_att = fread($fp, filesize("$chemin_doc_joint" ));
  23. fclose($fp);
  24.   //nom des pièces jointes
  25.      $mon_mail->add_attach($bin_att, "$chemin_doc_joint", "application/octet-stream" );
  26.    
  27. }
  28.    else
  29. {}
  30.  
  31.   // le texte html a envoyer
  32. $html_to_send = blabla et....


MERCI D'AVANCE !!

Reply

Marsh Posté le 29-09-2006 à 10:40:50   

Reply

Marsh Posté le 29-09-2006 à 11:19:54    

up

Reply

Marsh Posté le 29-09-2006 à 11:41:01    

up

Reply

Marsh Posté le 29-09-2006 à 13:06:31    

up

Reply

Marsh Posté le 29-09-2006 à 13:48:45    

Code :
  1. if( !is_uploaded_file($tmp_file) )              // vérification qu'il a bien été uploadé


 
et ce n'est pas la peine de faire de UP toute les 5 minutes....  :sarcastic:

Reply

Marsh Posté le 29-09-2006 à 15:00:08    

1er up 40'
2eme up 20' apres
3eme up 1h30' apres....
;-)
merci pour l'info Chani_t !!

Reply

Marsh Posté le 29-09-2006 à 16:22:03    

bon, en fait ça marche pas...

Reply

Marsh Posté le 29-09-2006 à 16:57:47    

snp a écrit :

bon, en fait ça marche pas...


 
je ne veux pas être mauvaise langue, mais à mon avis, ya un schmil dans ton code... (chez moi ça fonctionne trés bien php 4.3 et PHP4.0)

Reply

Marsh Posté le 29-09-2006 à 17:10:06    

g l'impression que mon if...else n'est pas pris en compte

Reply

Marsh Posté le 29-09-2006 à 17:29:29    

stadire que tu fais n'importe-quoi, aussi.[:dawa]
Malgré tout ce qu'on a déjà pu te dire dans le topic précédent sur le même sujet.[:dawa]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 29-09-2006 à 17:29:29   

Reply

Marsh Posté le 29-09-2006 à 17:33:04    

précises STP.
il me semble pourtant avoir apporter des modifs a mon script...la preuve c'est que ça marche. je veux juste ajouter une condition au script.
OK, il ne doit pas etre parfait pour des professionnels mais pour un débutant je le trouve acceptable, non ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed