condition taille fichier
Posté : 29 oct. 2008, 17:56
J'utilise ce script pour uploader des photos sur mon site :
<?php
$dossier = 'receptionphoto/';
$fichier = basename($_FILES['photo']['name']);
$taille_maxi = 500000;
$taille = filesize($_FILES['photo']['tmp_name']);
$extensions = array('.png', '.PNG', '.gif', '.GIF', '.jpg', '.JPG', '.jpeg', '.JPEG');
$extension = strrchr($_FILES['photo']['name'], '.');
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
header('location: echecenvoi.htm' );
exit;
}
if($taille>$taille_maxi) //Si la taille est supérieure à 500 Ko
{
header('location: echecenvoi.htm' );
exit;
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
//On formate le nom du fichier ici...
$fichier = strtr($fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
}
if(move_uploaded_file($_FILES['photo']['tmp_name'], $dossier . $fichier))
//Si la fonction renvoie TRUE, c'est que ça a fonctionné...
{
header('location: confirmation.htm' );
exit;
}
?>
La condition de vérification d'extension fonctionne et affiche ma page echecenvoi.htm si l'extension n'est pas dans le tableau, mais la condition de vérification de taille ne fonctionne pas et abouti sur une page vierge.
Merci d'avance de votre aide
Après de nombreuses recherches je pense que mon script php est bon mais que je dépasse la limite de timeout de mon hébergeur (OVH mutualisé) lors de l'upload de trop gros fichiers avant que le script n'ait effectué la vérification de taille du fichier uploadé.
Un petit conseil SVP
<?php
$dossier = 'receptionphoto/';
$fichier = basename($_FILES['photo']['name']);
$taille_maxi = 500000;
$taille = filesize($_FILES['photo']['tmp_name']);
$extensions = array('.png', '.PNG', '.gif', '.GIF', '.jpg', '.JPG', '.jpeg', '.JPEG');
$extension = strrchr($_FILES['photo']['name'], '.');
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
header('location: echecenvoi.htm' );
exit;
}
if($taille>$taille_maxi) //Si la taille est supérieure à 500 Ko
{
header('location: echecenvoi.htm' );
exit;
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
//On formate le nom du fichier ici...
$fichier = strtr($fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
}
if(move_uploaded_file($_FILES['photo']['tmp_name'], $dossier . $fichier))
//Si la fonction renvoie TRUE, c'est que ça a fonctionné...
{
header('location: confirmation.htm' );
exit;
}
?>
La condition de vérification d'extension fonctionne et affiche ma page echecenvoi.htm si l'extension n'est pas dans le tableau, mais la condition de vérification de taille ne fonctionne pas et abouti sur une page vierge.
Merci d'avance de votre aide
Après de nombreuses recherches je pense que mon script php est bon mais que je dépasse la limite de timeout de mon hébergeur (OVH mutualisé) lors de l'upload de trop gros fichiers avant que le script n'ait effectué la vérification de taille du fichier uploadé.
Un petit conseil SVP