Bloquer une page si le poids est trop élevé

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Bloquer une page si le poids est trop élevé

par kevinf » 13 juin 2006, 00:29

Ca marche.

par Truc » 13 juin 2006, 00:25

De rien... mais tu devrais tout de même jetter un oeil aux tutos fait pour débutants comme par exemple le zite du zero (très bien)

par kevinf » 13 juin 2006, 00:21

Merci de ton aide.

par Truc » 13 juin 2006, 00:18

Mouais... j'ai pas voulu que tu passe par ce genre de porte de secours c'est pour cela que je ne te l'ai pas indiqué :wink:

Je préfère de loin un script qui se déroule "normalement" sans interuption forcé de ce genre avec die().

sinon le principe est simple comme dans les commentaires.
if ($size > 73400320 )
{
    echo 'erreur';
    echo "Dossier d'upload plein à craquer serait temps de faire le ménage"; // ou tout autre message dont tu parlais au début
}
else
{
     echo"ok";
     //ici tout le code que tu as après donc le "ICI LA PAGE" entre ces deux accolades.
}

par kevinf » 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 

par Truc » 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.

par kevinf » 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.

par Truc » 13 juin 2006, 00:05

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

N'oublis pas le [Résolu]

par kevinf » 13 juin 2006, 00:04

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

par Truc » 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:

par kevinf » 12 juin 2006, 23:58

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

par Truc » 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.

par kevinf » 12 juin 2006, 23:46

echo donne sa :
58768

par Truc » 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 ?

par kevinf » 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...