[RESOLU] Input type file non envoyé

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Input type file non envoyé

Re: [RESOLU] Input type file non envoyé

par camo.mille » 29 juil. 2015, 21:55

Merci ! Le test sur is_uploaded_file était la solution ! top, merci !

Re: Input type file non envoyé

par moogli » 26 juil. 2015, 22:49

salut

$_POST['uploaded_file'] n'existe pas seulement $_FILES['uploaded_file'] du coup tu peux tester sur $_FILES['uploaded_file'] à la place :)

Tu peux utiliser is_uploaded_file afin de tester s'il s'agit du bon fichier.

@+

Re: Input type file non envoyé

par tof73 » 26 juil. 2015, 20:57

c'est pas clair si c'est le second if qui ne donne pas ce que l'on veut ou cela :
if (!$fileTmpLoc) { // if file not chosen
echo "c'est la que ça merde";
exit();
}

Input type file non envoyé

par camo.mille » 26 juil. 2015, 20:50

Bonsoir,

Je sèche depuis plusieurs heures sur ce bout de script. Il ne me reconnait pas l'envoi du fichier. if(!empty($_POST['uploaded_file'])) me met toujours qu'il n'y a pas d'image, alors que les autres champs du formulaire fonctionnent.

D'avance merci pour vos lumières.

Code : Tout sélectionner

if (isset($_POST['form1'])) { //s'il y a un lien, on enregistre le fichier sur le serveur if(!empty($_POST['uploaded_file'])) { echo "il y a un fichier"; // Access the $_FILES global variable for this specific file being uploaded // and create local PHP variables from the $_FILES array of information $fileName = $_FILES["uploaded_file"]["name"]; // The file name $fileTmpLoc = $_FILES["uploaded_file"]["tmp_name"]; // File in the PHP tmp folder $fileType = $_FILES["uploaded_file"]["type"]; // The type of file it is $fileSize = $_FILES["uploaded_file"]["size"]; // File size in bytes $fileErrorMsg = $_FILES["uploaded_file"]["error"]; // 0 for false... and 1 for true $fileName = preg_replace('#[^a-z.0-9]#i', '', $fileName); $kaboom = explode(".", $fileName); // Split file name into an array using the dot $fileExt = end($kaboom); // Now target the last array element to get the file extension // $fileName = time().rand().".".$fileExt; // START PHP Image Upload Error Handling -------------------------------------------------- if (!$fileTmpLoc) { // if file not chosen echo "c'est la que ça merde"; exit(); } else if($fileSize > 5242880) { // if file size is larger than 5 Megabytes echo "Erreur: Ton image fait plus de 5 méga"; unlink($fileTmpLoc); // Remove the uploaded file from the PHP temp folder exit(); } else if (!preg_match("/.(gif|jpg|png)$/i", $fileName) ) { // This condition is only if you wish to allow uploading of specific file types echo "Erreur: Ton image n'est pas du .gif, .jpg, ou du .png."; unlink($fileTmpLoc); // Remove the uploaded file from the PHP temp folder exit(); } else if ($fileErrorMsg == 1) { // if file upload error key is equal to 1 echo "ERROR: An error occured while processing the file. Try again."; exit(); } // Création d'un nouveau nom de fichier à faire. Pour remplacer $nomphoto $moveResult = move_uploaded_file($_FILES['uploaded_file']['tmp_name'], 'img/'.$nomphoto); // Check to make sure the move result is true before continuing if ($moveResult != true) { echo "Erreur: Fichier non envoyé. Fait un nouvel essai."; exit(); } } else { echo "il n'y a pas de fichier"; } // enregistrer dans la base : à faire echo "<p>L'article a bien été enregistré. Il reste à le publier. <a href=\"#\">C'est par ici.</a></p>"; } else { print(" <form enctype='multipart/form-data' action=' ".htmlspecialchars($_SERVER['PHP_SELF'])."?l=2&form=1' method='post'> <fieldset> <p> <label class='formulairecontact' for='fichier'>Fichier :</label> <input name='uploaded_file' type='file'/> </p> </fieldset> <input type='submit' name='form1' value='Enregistrer'/> </p> </form>