Salut @ tous !
J'utilise le plugin jQuery Uploadify pour uploader des photos sur mon serveur.
Chaque membre a droit à 10 mo d'espace de stockage.
Je vérifie avant le lancement de l'upload si cette limite est atteinte.
Ficher JS :
'onSelect' : function(event, ID, fileObj)
{
$.ajax(
{
type : 'POST',
url : 'espace_stockage_dispo.php',
async : false, // Activer le mode synchorne pour empêcher l'upload avant l'exécution du script PHP
success : function(msg)
{
if(msg == 'erreur')
{
alert('Espace de stockage plein !');
$(this).uploadifyClearQueue();
}
}
});
Fichier espace_stockage_dispo.php :
$poids_rep_photo = calcul_poids_repertoire('../photos/membre_'.$_COOKIE'id_membre_upload'].'/', $recursive = FALSE);
if($poids_rep_photo > $_COOKIE'taille_espace_stockage'])
{
echo 'erreur';
}
else
{
echo 'ok';
}
// -----------------------------------------------------------------------------
function calcul_poids_repertoire($path, $recursive = TRUE)
{
$result = 0;
if(!is_dir($path) || !is_readable($path))
{
return 0;
}
else
{
$fd = dir($path);
while($file = $fd->read())
{
if(($file != ".") && ($file != ".."))
{
if(@is_dir("$path/$file/"))
{
$result += $recursive?DirSize("$path/$file/"):0;
}
else
{
$result += filesize("$path/$file");
}
}
}
$fd->close();
return $result;
}
}
Quand la limite de stockage est atteinte le message "Espace de stockage plein !" s'affiche bien, la progress bar ne s'affiche pas, mais la photo est quand même uploadée !
Je ne comprends pas tout là !
Merci de m'aider...