root / uploadTest.php @ 1f5db711
1 |
<?php
|
---|---|
2 |
|
3 |
// Constantes
|
4 |
define('TARGET', '/var/www/data/tsf2/vpongnian/panorama/upload/'); // Repertoire cible |
5 |
define('MAX_SIZE', 300000000); // Taille max en octets du fichier |
6 |
define('WIDTH_MAX', 200000); // Largeur max de l'image en pixels |
7 |
define('HEIGHT_MAX', 100000); // Hauteur max de l'image en pixels |
8 |
|
9 |
|
10 |
// Creation du repertoire cible si inexistant
|
11 |
|
12 |
/*if( !is_dir(TARGET) ) {
|
13 |
if( !mkdir(TARGET, 0755) ) {
|
14 |
exit('Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !');
|
15 |
}
|
16 |
}
|
17 |
*/
|
18 |
|
19 |
// Script d'upload
|
20 |
|
21 |
// Variables
|
22 |
$extension = ''; |
23 |
$message = ''; |
24 |
$nomImage = ''; |
25 |
$url=''; |
26 |
$already=false; |
27 |
|
28 |
// Tableaux de donnees
|
29 |
$tabExt = array('jpeg','tif','jpg'); // Extensions autorisees |
30 |
$infosImg = array(); |
31 |
$stats = array(); |
32 |
|
33 |
|
34 |
if(!empty($_POST)) |
35 |
{ |
36 |
|
37 |
// On verifie si le champ est rempli
|
38 |
if( !empty($_FILES['file']['name']) ) |
39 |
{ |
40 |
|
41 |
// Recuperation de l'extension du fichier
|
42 |
$extension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION); |
43 |
|
44 |
// On verifie l'extension du fichier
|
45 |
if(in_array(strtolower($extension),$tabExt)) |
46 |
{ |
47 |
// On recupere les dimensions du fichier
|
48 |
$infosImg = getimagesize($_FILES['file']['tmp_name']); |
49 |
|
50 |
// On verifie les dimensions et taille de l'image
|
51 |
if(($infosImg[0] <= WIDTH_MAX) && ($infosImg[1] <= HEIGHT_MAX) && (filesize($_FILES['file']['tmp_name']) <= MAX_SIZE)) |
52 |
{ |
53 |
// Parcours du tableau d'erreurs
|
54 |
if(isset($_FILES['file']['error']) |
55 |
&& UPLOAD_ERR_OK === $_FILES['file']['error']) |
56 |
{ |
57 |
// On bouge le fichier uploadé dans un répertoire a son nom
|
58 |
// on garde en cache la variable $url qui permettra de passer sur une page envoyer.php plus avancée.
|
59 |
|
60 |
$err = $_FILES['file']['error']; |
61 |
echo "<script>alert(\"$err\");</script>"; |
62 |
$url ="envoyer.php?dir=upload/".$_FILES['file']['name']."&img=".$_FILES['file']['name']; |
63 |
move_uploaded_file($_FILES['file']['tmp_name'],TARGET.basename($_FILES['file']['name'])); |
64 |
apc_store('link', $url); |
65 |
|
66 |
} |
67 |
else
|
68 |
{ |
69 |
$message = 'Une erreur interne a empêché l\'uplaod de l\'image : '. $_FILES['file']['error']; |
70 |
} |
71 |
} |
72 |
else
|
73 |
{ |
74 |
// Sinon erreur sur les dimensions et taille de l'image
|
75 |
$message = 'Erreur dans les dimensions de l\'image !'; |
76 |
} |
77 |
} |
78 |
else
|
79 |
{ |
80 |
// Sinon on affiche une erreur pour l'extension
|
81 |
$message = 'L\'extension du fichier est incorrecte !'; |
82 |
} |
83 |
} |
84 |
else
|
85 |
{ |
86 |
// Sinon on affiche une erreur pour le champ vide
|
87 |
$message = 'Veuillez remplir le formulaire svp !'; |
88 |
} |
89 |
// On met en cache un message d'erreur.
|
90 |
apc_store('info', $message); |
91 |
} |
92 |
?>
|