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>