1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
| <?php
// Récupération du dossier dans lequel le fichier sera uploadé //
$DESTINATION_FOLDER = "images/";
$DESTINATION_REDIM= "images/redim";
// $DESTINATION_FOLDER = "images_objet/"; //
// Taille maximale de fichier, valeur en bytes //
$MAX_SIZE = 700000; //
// Récupération de l'url de retour //
$RETURN_LINK = $_SERVER['HTTP_REFERER']; //
// Définition des extensions de fichier autorisées (avec le ".")//
$AUTH_EXT = array(".doc", ".pdf", ".jpg", ".GIF", ".JPG", //
".bmp", ".gif"); //
// ############################################################ //
// Fonction permettant de créer un lien de retour automatique
function createReturnLink(){
global $RETURN_LINK;
echo "<a href='".$RETURN_LINK."'>Retour</a><br>";
}
// Fonction permettant de vérifier si l'extension du fichier est
// autorisée.
function isExtAuthorized($ext){
global $AUTH_EXT;
if(in_array($ext, $AUTH_EXT)){
return true;
}else{
return false;
}
}
if(!empty($_FILES["file"]["name"])){
// Nom du fichier choisi:
$nomFichier = $_FILES["file"]["name"] ;
// Nom temporaire sur le serveur:
$nomTemporaire = $_FILES["file"]["tmp_name"] ;
// Type du fichier choisi:
$typeFichier = $_FILES["file"]["type"] ;
// Poids en octets du fichier choisit:
$poidsFichier = $_FILES["file"]["size"] ;
// Code de l'erreur si jamais il y en a une:
$codeErreur = $_FILES["file"]["error"] ;
// Extension du fichier
$extension = strrchr($nomFichier, ".");
// Si le poids du fichier est de 0 bytes, le fichier est
// invalide (ou le chemin incorrect) => message d'erreur
// sinon, le script continue.
if($poidsFichier <> 0){
// Si la taille du fichier??? est supérieure à la taille
// maximum spécifiée => message d'erreur
if($poidsFichier < $MAX_SIZE){
// On teste ensuite si le fichier a une extension autorisée
if(isExtAuthorized($extension)){
// Ensuite, on copie le fichier uploadé ou bon nous semble.
$taille = 8;
$lettres = "abcdefghijklmnopqrstuvwxyz0123456789";
srand(time());
$id_code ="";
for ($i=0;$i<$taille;$i++)
{
$id_code.=substr($lettres,(rand()%(strlen($lettres))),1);
}
$nomFichier = "_".$id_code.$extension ;
// enregistrement
$uploadOk = move_uploaded_file($nomTemporaire, $DESTINATION_FOLDER.$nomFichier);
// debut du redimentionnement
// Le fichier à redimentionner
$filename = $DESTINATION_FOLDER.$nomFichier;
// Définition de la largeur et de la hauteur maximale
$width = 200;
$height = 200;
// Content type
header('Content-type: image/jpeg');
// Cacul des nouvelles dimensions
list($width_orig, $height_orig) = getimagesize($filename);
$ratio_orig = $width_orig/$height_orig;
if ($width/$height > $ratio_orig) {
$width = $height*$ratio_orig;
} else {
$height = $width/$ratio_orig;
}
// Redimensionnement
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
// fin du redimentionnement
if($uploadOk){
}else{
echo("L'upload a échoué !<br><br>");
echo(createReturnLink());
}
}else{
echo ("Les fichiers avec l'extension $extension ne peuvent pas être uploadés !<br>");
echo (createReturnLink()."<br>");
}
}else{
$tailleKo = $MAX_SIZE / 1000;
echo("Vous ne pouvez pas uploader de fichiers dont la taille est supérieure à : $tailleKo Ko.<br>");
echo (createReturnLink()."<br>");
}
}else{
echo("Le fichier choisi est invalide !<br>");
echo (createReturnLink()."<br>");
}
}else{
//echo "stp";exit;
$nomFichier = "no_photo.jpg";
if ($type_photo == 2 or $type_photo == 3) {
if ($nomFichier == "no_photo.jpg") {
echo "<div align=\"center\"><font size='2' face=\"Arial, Helvetica, sans-serif\" font color=\"#FF3333\"><strong>
Vous n'avez pas choisi de photo !</strong><br><br><a href=\"javascript:history.back()\">$tx_retour</a>"; exit;
echo (createReturnLink()."<br>");}
}
}
echo "stop";exit;
?> |
Partager