Input type file non envoyé
Posté : 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.
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>