<?php
if (isset($_FILES['fichier'])) { //debug
// Variables récupérée par methode POST du formulaire
$nom =
substr($_FILES['fichier']['name'],
0,
-4);
$type = $_FILES['fichier']['type'];
$taille = $_FILES['fichier']['size'];
$nom_tmp = $_FILES['fichier']['tmp_name'];
$sens = $_POST['sens'];
//test de la taille du fichier
$MAX_SIZE = 8388608;
if($taille > $MAX_SIZE){
$erreur = "Le fichier est trop volumineux.";
} else {
//test de l'existence d'un fichier portant le même nom
$erreur = "Un fichier du même nom existe deja sur le serveur.";
}
}
// verification du mimetype
'image/pjpeg'=>"jpg",
'image/jpeg'=>"jpg",
'image/jpg'=>"jpg",
'image/png'=>"png",
'image/x-png'=>"png",
'image/gif'=>"gif",
'image/bmp'=>"bmp"
);
$type = $FILE_MIMES[$_FILES['fichier']['type']];
switch($type) {
case 'jpg': $image = ImageCreateFromJPEG($nom_tmp); break;
case 'png': $image = ImageCreateFromPNG($nom_tmp); break;
case 'gif': $image = ImageCreateFromGIF($nom_tmp); break;
case 'bmp': $image = ImageCreateFromWBMP($nom_tmp); break;
default: $erreur = "Type de fichier non reconnu."; break;
}
//ouverture de l'image
$erreur = "Impossible d'ouvrir l'image.";
} else {
$w = imagesx($image);
$h = imagesy($image);
$image_mirroir = imagecreatetruecolor($w,$h);
$vertical = false;
for($y=0;$y<$h;$y++) {
for($x=0;$x<$w;$x++) {
imagesetpixel($image_mirroir,$vertical?$x:$w-$x,$vertical?$h-$y:$y,imagecolorat($image,$x,$y));
}
}
$erreur="";
if ($sens=="gauche" ) {
if(imagepng($image,'gauche/'.$nom.'.png')) {
$erreur .= '<br>Nous avons bien copié le fichier '.$_FILES['fichier']['name'].' dans gauche/'.$nom.'.png';
}
if(imagepng($image_mirroir,'droite/'.$nom.'.png')) {
$erreur .= '<br>Nous avons bien copié le fichier '.$_FILES['fichier']['name'].' dans droite/'.$nom.'.png';
}
} else {
if(imagepng($image,'droite/'.$nom.'.png')) {
$erreur .= '<br>Nous avons bien copié le fichier '.$_FILES['fichier']['name'].' dans droite/'.$nom.'.png';
}
if(imagepng($image_mirroir,'gauche/'.$nom.'.png')) {
$erreur .= '<br>Nous avons bien copié le fichier '.$_FILES['fichier']['name'].' dans gauche/'.$nom.'.png';
}
}
}
}
}
?>
<form action="upload.php" method="post" ENCTYPE="multipart/form-data" >
<input type="file" name="fichier">
<select name="sens">
<option>gauche</option>
<option>droite</option>
</select>
<input type="submit" value="uploader">
</form>