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
| <?php
function upload($file, $type)
{
include('../config.php');
mysql_connect($host, $user, $pass);
mysql_select_db($db);
$_FILE['file'] = $file;
$config_sql = mysql_query('SELECT * FROM config');
$config = mysql_fetch_array($config_sql);
$error = '';
switch($type)
{
case 'signature':
$max_width = $config['signature_max_width'];
$max_height = $config['signature_max_height'];
$max_size = $config['signature_max_size'];
break;
case 'bouton_partenaire':
$max_width = $config['bouton_partenaire_max_width'];
$max_height = $config['bouton_partenaire_max_height'];
$max_size = $config['bouton_partenaire_max_size'];
break;
case 'banniere_partenaire':
$max_width = $config['banniere_partenaire_max_width'];
$max_height = $config['banniere_partenaire_max_height'];
$max_size = $config['banniere_partenaire_max_size'];
break;
default:
$max_width = NULL;
$max_height = NULL;
$max_site = NULL;
}
if($max_width == NULL OR $max_height == NULL OR $max_size == NULL)
{
$error = "E:Type d'upload invalide";
}
else
{
if($_FILE['file']['error'] > 0) // Si le transfert du fichier n'a pas eu lieu
{
$error = "E:Erreur lors du tranfsert du fichier.";
}
else
{
if($_FILE['file']['size'] > $max_size) // Si le fichier est trop lourd
{
$error = "E:Le fichier est trop lourd, limitée à ".$max_size/1024 ."Ko.";
}
else
{
$extension_valides = array('jpg', 'jpeg', 'gif', 'png');
$extension_file = substr(strrchr($_FILE['file']['name'], '.'),1);
if (!in_array($extension_file,$extensions_valides))
{
$error = "E:Le type de fichier n'est pas valide.";
}
else
{
$file_sizes = getimagesize($_FILE['file']['tmp_name']);
if ($file_sizes[0] > $max_width OR $file_sizes[1] > $max_height)
{
$error = "E:L'image est trop grande, limitée à ".$max_width."*".$max_height.".";
}
else
{
$microtime = microtime();
$destination_file = $config['partenaire_upload_doc'].str_replace(' ','',$type.'_'.$nom.'_'.$microtime);
$transfert_file = move_uploaded_file($_FILE['file']['tmp_name'],$destination_file);
if (!$transfert_file)
{
$error = "E:Erreur lors du transfert du fichier, si l\'erreur persiste, merci d\'en informer le webmaster.";
}
}
}
}
}
}
if (!empty($error))
{
return $error;
}
else
{
return $destination_file;
}
}
echo upload($_POST['file'], $_POST['type']);
?> |
Partager