par
hunta » 11 mai 2006, 09:54
Bonjour,
Apres un détour dans la catégorie "vos contributions" j'ai crée un petit bout de code qui compte le nombre de fichiers par type et qui affiche la tailel des tous ces fichiers. Ainsi le résultat sera sous cette forme :
Sur c: vous avez 2000 fichiers .zip, la taille totale des fichiers .zip est de 800Mo
Voici le code de ma fonction, présent dans le fichier 12.php
<?
function calc_size_Rdir($dir_start){
require ("15.php");
$files = glob("$dir_start\*");
if ($files) foreach ($files as $file) {
if (is_dir($file))
$size += calc_size_Rdir($file);
elseif(substr($file,-4,1)=='.'){
$ext = substr($file,-4);
if ($ext=='.doc'){
$size += round(filesize($file)/1048576,2);
$j++;
}
if ($ext=='.zip') {
$size1 += round(filesize($file)/1048576,2);
$p++;
}
if ($ext=='.pdf') {
$size2 += round(filesize($file)/1048576,2);
$c++;
}
if ($ext=='.txt') {
$size3 += round(filesize($file)/1048576,2);
$a++;
}
if ($ext=='.jpg') {
echo "$file <br>";
$size4 += round(filesize($file)/1048576,2);
$f++;
}
if ($ext=='.exe') {
$size5 += round(filesize($file)/1048576,2);
$m++;
}
if ($ext=='.dll') {
$size6 += round(filesize($file)/1048576,2);
$k++;
}
}
}
}
?>
Dans 15.php je definis mes variables
<?
$a=0;
$j=0;
$p=0;
$c=0;
$f=0;
$m=0;
$k=0;
$size=0;
$size1=0;
$size2=0;
$size3=0;
$size4=0;
$size5=0;
$size6=0;
$espace = 0 ;
?>
apres j'appelleces fichiers dans mon 13.php
<?php
$dir = 'C:';
require ("15.php");
include ("12.php");
calc_size_Rdir($dir);
echo "il y a <strong> $j</strong> fichiers .doc,
la taille du(es) fichier(s) .doc est de <strong>$size </strong> Mo<br>";
echo "il y a <strong>$p</strong> fichiers .zip,
la taille du(es) fichier(s) .zip est de <strong>$size1</strong> Mo<br>";
echo "il y a <strong>$c</strong> fichiers .pdf,
la taille du(es) fichier(s) .pdf est de <strong>$size2</strong> Mo<br>";
echo "il y a <strong>$a</strong> fichiers .txt,
la taille du(es) fichier(s) .txt est de <strong>$size3</strong> Mo<br>";
echo "il y a <strong>$f</strong> fichiers .jpg,
la taille du(es) fichier(s) .jpg est de <strong>$size4</strong> Mo<br>";
echo "il y a <strong>$m</strong> fichiers .exe,
la taille du(es) fichier(s) .exe est de <strong>$size5</strong> Mo<br>";
echo "il y a <strong>$k</strong> fichiers .dll,
la taille du(es) fichier(s) .dll est de <strong>$size6</strong> Mo<br>";
?>
Voila, comme vous pouvez le voir, j'appelle 15.php dans 12.php
<?
function calc_size_Rdir($dir_start){
require ("15.php");
le problème c'est que 15.php reinitialise mes variables a 0. Si je ne le met pas dans la fonction, mon programme m'annonce que toutes mes variables que normalement sont déclaré dans 12.php ne sont pas definies.
Je voudrais initialiser mes variables juste une fois, mais je ne peut pas...
Merci
Bonjour,
Apres un détour dans la catégorie "vos contributions" j'ai crée un petit bout de code qui compte le nombre de fichiers par type et qui affiche la tailel des tous ces fichiers. Ainsi le résultat sera sous cette forme :
[i]Sur c: vous avez 2000 fichiers .zip, la taille totale des fichiers .zip est de 800Mo [/i]
Voici le code de ma fonction, présent dans le fichier 12.php
[php]
<?
function calc_size_Rdir($dir_start){
require ("15.php");
$files = glob("$dir_start\*");
if ($files) foreach ($files as $file) {
if (is_dir($file))
$size += calc_size_Rdir($file);
elseif(substr($file,-4,1)=='.'){
$ext = substr($file,-4);
if ($ext=='.doc'){
$size += round(filesize($file)/1048576,2);
$j++;
}
if ($ext=='.zip') {
$size1 += round(filesize($file)/1048576,2);
$p++;
}
if ($ext=='.pdf') {
$size2 += round(filesize($file)/1048576,2);
$c++;
}
if ($ext=='.txt') {
$size3 += round(filesize($file)/1048576,2);
$a++;
}
if ($ext=='.jpg') {
echo "$file <br>";
$size4 += round(filesize($file)/1048576,2);
$f++;
}
if ($ext=='.exe') {
$size5 += round(filesize($file)/1048576,2);
$m++;
}
if ($ext=='.dll') {
$size6 += round(filesize($file)/1048576,2);
$k++;
}
}
}
}
?>
[/php]
Dans 15.php je definis mes variables
[php]
<?
$a=0;
$j=0;
$p=0;
$c=0;
$f=0;
$m=0;
$k=0;
$size=0;
$size1=0;
$size2=0;
$size3=0;
$size4=0;
$size5=0;
$size6=0;
$espace = 0 ;
?>
[/php]
apres j'appelleces fichiers dans mon 13.php
[php]
<?php
$dir = 'C:';
require ("15.php");
include ("12.php");
calc_size_Rdir($dir);
echo "il y a <strong> $j</strong> fichiers .doc,
la taille du(es) fichier(s) .doc est de <strong>$size </strong> Mo<br>";
echo "il y a <strong>$p</strong> fichiers .zip,
la taille du(es) fichier(s) .zip est de <strong>$size1</strong> Mo<br>";
echo "il y a <strong>$c</strong> fichiers .pdf,
la taille du(es) fichier(s) .pdf est de <strong>$size2</strong> Mo<br>";
echo "il y a <strong>$a</strong> fichiers .txt,
la taille du(es) fichier(s) .txt est de <strong>$size3</strong> Mo<br>";
echo "il y a <strong>$f</strong> fichiers .jpg,
la taille du(es) fichier(s) .jpg est de <strong>$size4</strong> Mo<br>";
echo "il y a <strong>$m</strong> fichiers .exe,
la taille du(es) fichier(s) .exe est de <strong>$size5</strong> Mo<br>";
echo "il y a <strong>$k</strong> fichiers .dll,
la taille du(es) fichier(s) .dll est de <strong>$size6</strong> Mo<br>";
?>
[/php]
Voila, comme vous pouvez le voir, j'appelle 15.php dans 12.php
[php]
<?
function calc_size_Rdir($dir_start){
require ("15.php");
[/php]
le problème c'est que 15.php reinitialise mes variables a 0. Si je ne le met pas dans la fonction, mon programme m'annonce que toutes mes variables que normalement sont déclaré dans 12.php ne sont pas definies.
Je voudrais initialiser mes variables juste une fois, mais je ne peut pas...
Merci