Bloquer une page si le poids est trop élevé

Eléphant du PHP | 351 Messages

12 juin 2006, 10:55

c'est vrai aussi #-o

ne convertis pas en Mo reste en octets et compare à 1024* 1024 * 70
Donc le code de départ pour vérifier le poids du repertoire est bon?
Et pour la vérification?

Eléphant du PHP | 351 Messages

12 juin 2006, 22:29

non?

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

12 juin 2006, 22:59

non?
Bein oui faut attendre la fin de journée :wink:

au lieu de renvoyer
round($size/pow(1024, ($i = floor(log($size, 1024)))), 2) . $filesizename[$i];
renvoie
$size = calc_size_Rdir($dir);

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 351 Messages

12 juin 2006, 23:11

Ok, et il faut que je mette ce code :
if ($size > 73400320 ) 
{ 
     //ici code erreur 
} 
else 
{ 
    // ici code tout va bien  
} 
??

Eléphant du PHP | 351 Messages

12 juin 2006, 23:19

J'ai mis ca :
<?php 

function calc_size($dir) 
{ 
    $size = calc_size_Rdir($dir); 
    $filesizename = array(" Octets", " KO", " MO", " GO", " TO", " PO", " EO", " ZO", " YO"); 
    return $size = calc_size_Rdir($dir); 
} 


function calc_size_Rdir($dir_start) 
{ 
    $size = 0; 
    $open = opendir($dir_start); 
    while($file = readdir($open)) 
    { 
        if($file != '.' && $file != '..') 
        { 
            if(is_dir($dir_start .'/'.$file)) 
            { 
                $new_dir = $dir_start .'/'.$file; 
                $size = $size + calc_size_Rdir($new_dir); 
            } 
            else 
            { 
                $size = $size + filesize($dir_start .'/'.$file); 
            } 
        } 
    } 
    return $size; 
} 
?> 
<?php 
$dir = getcwd(); 
$size = calc_size($dir); 
echo $size; 

if ($size > 73400320 ) 
{ 
     //ici code erreur 
} 
else 
{ 
    // ici code tout va bien   
} [quot
?>
Et voila rien ne se passe...

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

12 juin 2006, 23:44

Et voila rien ne se passe...
Tu t'attendais à voir un éléphant ElePHPant :-#

que veux tu qu'il se passe il n'y a rien qui puisse se produire dans ce code... Je me demande si tu as simplement oublié des lignes de code ou pas compris comment fonctionne un test if() :-k

L'affichage "echo" donne quoi ?

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 351 Messages

12 juin 2006, 23:46

echo donne sa :
58768

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

12 juin 2006, 23:55

donc tout va bien il se passe quelque chose :wink:

maintenant il faut écrire la suite du code... moi j'ai juste proposé le test et des commentaires mais l'exemple ne fait rien. Tu dois inclure dans chaque partie le script que tu souhaites exécuter.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 351 Messages

12 juin 2006, 23:58

Oui mais quan je met une phrase a afficher, et bien j'ai une parse error

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

13 juin 2006, 00:04

et donc il se passe encore plus que "Rien"

Les messages d'erreur sont importants... et si tu montre ce que tu as essayé je pourrais voir ce qui ne va pas :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 351 Messages

13 juin 2006, 00:04

C'est bon, ca marche, merci de ton aide.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

13 juin 2006, 00:05

Voilà... pas bien difficile enfait :wink:

N'oublis pas le [Résolu]

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 351 Messages

13 juin 2006, 00:08

Heu... :oops: un petit soucis, j'ai mis ca :
<?php 

function calc_size($dir) 
{ 
    $size = calc_size_Rdir($dir); 
    $filesizename = array(" Octets", " KO", " MO", " GO", " TO", " PO", " EO", " ZO", " YO"); 
    return $size = calc_size_Rdir($dir); 
} 


function calc_size_Rdir($dir_start) 
{ 
    $size = 0; 
    $open = opendir($dir_start); 
    while($file = readdir($open)) 
    { 
        if($file != '.' && $file != '..') 
        { 
            if(is_dir($dir_start .'/'.$file)) 
            { 
                $new_dir = $dir_start .'/'.$file; 
                $size = $size + calc_size_Rdir($new_dir); 
            } 
            else 
            { 
                $size = $size + filesize($dir_start .'/'.$file); 
            } 
        } 
    } 
    return $size; 
} 
?> 
<?php 
$dir = getcwd(); 
$size = calc_size($dir); 
echo $size; 

if ($size > 73400320 ) 
{ 
    echo"erreur"; 
} 
else 
{ 
     echo"ok"; 
  
} 
?>

ICI LA PAGE
et que ce soit erreur ou ok, le texte : ICI LA PAGE s'affiche, je voudrais que quand le texte erreur est affiché, toute la page ne s'affiche pas.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

13 juin 2006, 00:11

Tu devrais faire un tour dans la doc pour if.. else

tout ce qui n'est pas inclus dans l'une (if) ou l'autre (else) conditions est ecéxuté par la suite.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 351 Messages

13 juin 2006, 00:14

J'ai mis cela et ca marche mais dis moi si c'est bon quand meme :oops:
<?php 

function calc_size($dir) 
{ 
    $size = calc_size_Rdir($dir); 
    $filesizename = array(" Octets", " KO", " MO", " GO", " TO", " PO", " EO", " ZO", " YO"); 
    return $size = calc_size_Rdir($dir); 
} 


function calc_size_Rdir($dir_start) 
{ 
    $size = 0; 
    $open = opendir($dir_start); 
    while($file = readdir($open)) 
    { 
        if($file != '.' && $file != '..') 
        { 
            if(is_dir($dir_start .'/'.$file)) 
            { 
                $new_dir = $dir_start .'/'.$file; 
                $size = $size + calc_size_Rdir($new_dir); 
            } 
            else 
            { 
                $size = $size + filesize($dir_start .'/'.$file); 
            } 
        } 
    } 
    return $size; 
} 
?> 
<?php 
$dir = getcwd(); 
$size = calc_size($dir); 
echo $size; 

if ($size > 73400320 ) 
{ 
    die('erreur'); 
} 
else 
{ 
     echo"ok"; 
  
} 
?>

ICI LA PAGE