gestion de la taille des fichiers pour ne pas faire exploser le serveur

This commit is contained in:
cy_altern 2021-01-25 03:04:07 +01:00
parent 21e0793c54
commit edf359e50c
2 changed files with 16 additions and 4 deletions

View file

@ -3,10 +3,13 @@
<ul>
<BOUCLE_corpus(DATA){source ls, #CHEMIN{tmp}/corpus/*}{par basename}>
<li>
#SET{liste_lignes,#LISTE{1}}
#SET{liste_lignes,#LISTE{1}} #SET{trop_gros,100000000} [(#REM) trop gros = 100Mo ]
#SET{nb_lignes, #FILE|nombre_ligne} [(#GET{nb_lignes}|!={1}|oui) #SET{liste_lignes,#LISTE{1,#GET{nb_lignes}}}]
<h3 class="spip">[(#FILE|basename)] : [(#GET{nb_lignes}) [(#GET{nb_lignes}|singulier_ou_pluriel{page,pages})]]</h3>
<BOUCLE_2lignes(DATA){liste #GET{liste_lignes}}>
<h3 class="spip[ (#SIZE|>{#GET{trop_gros}}|oui)non_traite]">
[(#FILE|basename)] : [(#GET{nb_lignes}) [(#GET{nb_lignes}|singulier_ou_pluriel{page,pages})]] <small>([(#SIZE|human_filesize)o])</small>
[ (#SIZE|>{#GET{trop_gros}}|oui)<div>fichier trop gros pour traitement basique</div>]
</h3>
<BOUCLE_2lignes(DATA){liste #GET{liste_lignes}}{si #SIZE|<{#GET{trop_gros}}}>
<div>
<h4 class="aff_masq">Ligne #VALEUR:</h4>
<div class="details">
@ -27,7 +30,7 @@
[(#CLE|=={htmlBytes}|non)
<div class="aff_masq">[(#CLE)] : </div>
<div class="details">
[(#VALEUR|print|replace{<,&lt;}|replace{>,&gt;})]
[(#VALEUR|print|replace{<br />,§§}|replace{<,&lt;}|replace{>,&gt;}|replace{§§,<br>})]
</div>
]
</li>
@ -68,4 +71,7 @@
width: 100%;
height: 200px;
}
.non_traite {
color: #777;
}
</style>

View file

@ -48,3 +48,9 @@ function affiche_ligne($fichier, $num) {
}
return 'Erreur : nombre de lignes du fichier '.$fichier.' inférieur à '.$num;
}
function human_filesize($bytes, $decimals = 2) {
$sz = 'BKMGTP';
$factor = floor((strlen($bytes) - 1) / 3);
return sprintf("%.{$decimals}f", $bytes / pow(1024, $factor)) . @$sz[$factor];
}