Forums NFrance

Forum de discussions NFrance - Support offres dédiées et mutualisées

Vous n'êtes pas identifié.

Annonce

Attention, le forum est public, ne postez donc jamais votre mot de passe en clair dans un message.

#1 08-01-2008 09:33:29

relaxniky
Nouveau membre
Date d'inscription: 03-03-2007
Messages: 16
Site web

comment trouver la capacité utilisée dans un hébergement web1 ?

Bonjour,
Je n'ai pas trouvé de sujet déjà traité dans les forums NFrance se rapportant à ma question.

J'aimerais savoir comment faire pour connaître la capacité utilisée sur la capacité totale offerte par l'hébergment Web1 ? 
Dans les statistiques, je pensais trouver un "fromage" avec en vert (par exemple) la capacité allouée par Web1 et en rouge la capacité déjà utilisée par un site.

Merci par avance à toutes les personnes qui pourront me renseigner.
Bonne journée


Tout le monde a une montre, mais plus personne n'a le temps !

Hors ligne

 

#2 08-01-2008 11:56:41

Thomas.Maillard
Membre expérimenté
Lieu: Modane (73)
Date d'inscription: 01-09-2006
Messages: 133
Site web

Re: comment trouver la capacité utilisée dans un hébergement web1 ?

Bonjour,

a ma connaissance il n'existe pas d'outil de web1 permettant de connaitre l'espace disque occupé sur le site.

néanmoins, un membre avait codé (ou trouvé) il y a quelques temps déjà un script php permettant de connaitre cet espace utilisé (FTP + base de donnée).


il me semble avoir retrouvé ce code :

Code:

<?php

$HOSTNAME=""; //à renseigner
$USERNAME=""; //à renseigner
$PASSWORD=""; //à renseigner
$DATABASE=""; //à renseigner
$maxtaille =1024 * 2048 * 1024; //votre capacité en octets (ici 2Go)

$byteUnits = array('Octets', 'Ko', 'Mo', 'Go');

function PMA_formatByteDown($value, $limes = 6, $comma = 0)
{
    $dh           = pow(10, $comma);
    $li           = pow(10, $limes);
    $return_value = $value;
    $unit         = $GLOBALS['byteUnits'][0];

    if ($value >= $li*1000000) {
        $value = round($value/(1073741824/$dh))/$dh;
        $unit  = $GLOBALS['byteUnits'][3];
    }
    else if ($value >= $li*1000) {
        $value = round($value/(1048576/$dh))/$dh;
        $unit  = $GLOBALS['byteUnits'][2];
    }
    else if ($value >= $li) {
        $value = round($value/(1024/$dh))/$dh;
        $unit  = $GLOBALS['byteUnits'][1];
    }
    if ($unit != $GLOBALS['byteUnits'][0]) {
        $return_value = number_format($value, $comma,
            $GLOBALS['number_decimal_separator'],
            $GLOBALS['number_thousands_separator']);
    } else {
        $return_value = number_format($value, 0,
            $GLOBALS['number_decimal_separator'],
            $GLOBALS['number_thousands_separator']);
    }

    return array($return_value, $unit);
} // end of the 'PMA_formatByteDown' function

function rep($nom)
{
    $nbTab=str_repeat("|----",substr_count($nom,"/"));
    $nom1=eregi_replace("^[.][a-z0-9/ ]*/",$nbTab,$nom);
 //   echo "<TR><TD align=\"left\">$nom1</TD>";
    global $nbre;
    global $tailletot;
    $d = dir($nom);
    $tailleRep=0;
    $nbRep=0;
    while($entry=$d->read())
    {
        $taille = filesize($nom . "/" . $entry);
        $type = filetype($nom . "/" . $entry);
        if ($type != "dir")
        {
            $tailletot = $tailletot + $taille;
            $nbre = $nbre + 1;
            $tailleRep+=$taille;
            $nbRep++;
        }
    }
    $d = dir($nom);
    $tailleRep=number_format($tailleRep,'0',',',' ');
    $nbRep=number_format($nbRep,'0',',',' ');
//    echo "<TD align=\"right\">$tailleRep</TD>";
//    echo "<TD align=\"right\">$nbRep</TD></TR>";
    while($entry=$d->read())
    {
        $taille = filesize($nom . "/" . $entry);
        $type = filetype($nom . "/" . $entry);
        if ($type == "dir")
        {
            if ($entry != "." AND $entry != "..")
            {
                $reps[]=$nom . "/" . $entry;
            }
        }
    }
    if (isset($reps)) {
        natcasesort($reps);
        foreach ($reps as $v) {
            rep($v);
        }
    }
    //rep($nom . "/" . $entry);
}

$db = mysql_connect($HOSTNAME, $USERNAME , $PASSWORD );
mysql_select_db($DATABASE,$db);

$local_query = "SHOW TABLE STATUS FROM $DATABASE";
$result      = mysql_query($local_query);
$nbTables=0;
if ($result != FALSE && mysql_num_rows($result) > 0) {
    while ($sts_tmp = mysql_fetch_array($result)) {
        $tables[] = $sts_tmp;
        $nbTables++;
    }
    mysql_free_result($result);
}

?>
<TABLE cellspacing="20">
<TR><TH align="center" width="50%" valign="top">Base de donn&eacute;es</TD>
<TH align="center" width="50%" valign="top">Espace disque</TD></TR>
<TR><TD valign="top">
<TABLE>
<TR>
<TH align="center">Table</TH><TH align="right" width="80">Donn&eacute;es</TH>
<TH align="right" width="80">Index</TH><TH align="right" width="80">Total</TH>
</TR>
<?php
$td=0;
$ti=0;
$s_tot=0;
while (list($keyname, $sts_data) = each($tables)) {
    list($sd,$sd_u)=PMA_formatByteDown($sts_data['Data_length'],3,1);
    $sd="$sd $sd_u";
    $td+=$sts_data['Data_length'];
    list($si,$si_u)=PMA_formatByteDown($sts_data['Index_length'],3,1);
    $si="$si $si_u";
    $ti+=$sts_data['Index_length'];
    list($sum,$sum_u)=PMA_formatByteDown(
                       $sts_data['Data_length']+$sts_data['Index_length'],3,1);
    $sum= "$sum $sum_u";
 //   echo "<TR><TD>".$sts_data['Name']."</TD><TD align='right'>$sd</TD>";
 //   echo "<TD align='right'>$si</TD><TD align='right'>$sum</TD></TR>";
}
$ts=$td+$ti;
$s_tot=$ts;
list($td,$td_u)=PMA_formatByteDown($td,3,1);
$td="$td $td_u";
list($ti,$ti_u)=PMA_formatByteDown($ti,3,1);
$ti="$ti $ti_u";
list($ts,$ts_u)=PMA_formatByteDown($ts,3,1);
$ts="$ts $ts_u";
echo "<TR><TD>Total</TD><TD align='right'>$td</TD><TD align='right'>$ti</TD>";
echo "<TD align='right'>$ts</TD></TR>";
?>
</TABLE>
</TD><TD width="50%">
<TABLE cellpadding="0" cellspacing="0">
<pre>
<TABLE border="0" cellspacing="0">
<TR><TH align="center">R&eacute;pertoire</TH>
<TH align="right" width="80">Taille</TH>
<TH align="right" width ="60">Fichiers</TH></TR>
<?php
        $d = dir("");
        global $nbre;
        global $tailletot;
        $nbre = 0;
        $tailletot = 0;
        rep("../");
?>
</TABLE>
<?php

$temp1 = number_format($nbre,'0',',',' ');
$temp2 = number_format($tailletot,'0',',',' ');
echo "<BR>J'ai trouvé $temp1 fichiers d'une taille totale de $temp2 octets.<br>";
$temp1 = number_format($maxtaille - $tailletot,'0',',',' ');
echo "<BR>Il vous reste $temp1 octets.<BR><BR>";
$s_tot+=$tailletot;
$s_libre=$maxtaille - $s_tot;
list($s_tot,$s_tot_u)=PMA_formatByteDown($s_tot,3,1);
$s_tot="$s_tot $s_tot_u";
list($s_libre,$s_libre_u)=PMA_formatByteDown($s_libre,3,1);
$s_libre="$s_libre $s_libre_u";

?>
</TD></TR>
<TR><TD colspan="2" align="center">
<B>
Espace utilis&eacute; : <?php echo $s_tot; ?><BR>
Espace libre : <?php echo $s_libre; ?>
</B>
</TD></TR></TABLE>
</div>

voila ...

Thomas

Hors ligne

 

#3 08-01-2008 17:09:09

Gilletarom
Nouveau membre
Date d'inscription: 07-11-2006
Messages: 5

Re: comment trouver la capacité utilisée dans un hébergement web1 ?

Bonjour,

Formidable, c'est justement ce que je cherche.  smile

J'ai donc essayé en collant ce code dans une page web. Je pense avoir correctement informé les lignes concernant la base de données et effectivement, pour la base de donnée, j'obtiens une réponse correcte, puisque je ne l'utilise pas. L'espace occupé est de l'ordre de 7Ko.

Par conctre pour l'espace disque, j'ai ceci :

Warning: dir(../) [function.dir]: failed to open dir: Permission denied in /home/XXXXXXX/A_Espace_disponible.php on line 64

Fatal error: Call to a member function on a non-object in /home/XXXXX/A_Espace_disponible.php on line 67
Répertoire     Taille     Fichiers

(Les XXXXX sont la pour masquer des infos privées)

En ligne 64, le fichier ouvert avec notepad contient :    $d = dir($nom);
En ligne 67 il ya le début d'une boucle while  :  while($entry=$d->read())

Mais je ne sais que faire car hélas je ne connais pas le php.  sad

S'agit il d'un problème  php mal programmé ou de droit d'accès de type chmod ?


Merci d'avance en cas de réponse.

Cordialement

Gilletarom.

Hors ligne

 

#4 08-01-2008 17:48:01

Thomas.Maillard
Membre expérimenté
Lieu: Modane (73)
Date d'inscription: 01-09-2006
Messages: 133
Site web

Re: comment trouver la capacité utilisée dans un hébergement web1 ?

Bonsoir,

c'est étrange car la seule configuration que j'ai eu à faire concerne la base de donnée...
j'ai copier-coller le script que j'ai donné, renseigné la base de donnée, placé le fichier sur le serveur et exécuté le script, ça prend du temps (car 70 000 fichiers et 200Mo de base de donnée), mais ça fonctionne ...

si par hasard vous placez le script dans un répertoire (ce que j'ai fait) et pas directement à la racine, ça fonctionne ?
si oui il doit y avoir une ligne dans le script qui indique qu'il faut compter à partir du répertoire parent, et si le fichier est à la racine, il n'aurais pas les autorisations d'aller voir plus bas... (supposition ...)

et effectivement, ça doit être ça :

près de la ligne 171, il y a ceci :

Code:

rep("../");

si vous mettez ceci :

Code:

rep("");

ou bien

Code:

rep("/");

ça devrait fonctionner ...

en fait, tout dépend la référence et ou vous placez le script ... il faut que le contenu de rep() pointe vers la racine de votre hébergement et pas plus bas (plantage) ni plus haut (vous prendriez pas en compte tous les fichiers)

Thomas

Hors ligne

 

#5 08-01-2008 20:10:29

Gilletarom
Nouveau membre
Date d'inscription: 07-11-2006
Messages: 5

Re: comment trouver la capacité utilisée dans un hébergement web1 ?

Bonsoir,

Thomas.Maillard a écrit:

Bonsoir,

ça devrait fonctionner ...

Thomas

Merci. C'est OK. Il faut le mettre dans un répertoire. sous la racine.

Cordialement

Gilletarom

Hors ligne

 

#6 08-01-2008 20:16:43

relaxniky
Nouveau membre
Date d'inscription: 03-03-2007
Messages: 16
Site web

Re: comment trouver la capacité utilisée dans un hébergement web1 ?

Merci Thomas pour ces informations et bravo Gilletarom pour votre savoir-faire ! 
Je dois reconnaître que tout cela est bien au-dessus de mes connaissances   sad     mais ça va m'obliger à progresser !   
Je vais donc prendre ligne par ligne et essayer de comprendre ...  mais c'est pas gagné ! 

Bonne soirée !
Niky


Tout le monde a une montre, mais plus personne n'a le temps !

Hors ligne

 

#7 09-01-2008 05:46:24

Jaguar
Membre habitué
Lieu: Nice
Date d'inscription: 27-08-2007
Messages: 23
Site web

Re: comment trouver la capacité utilisée dans un hébergement web1 ?

Je trouve dommage que nfrance ne propose pas ce genre d'outil, comme pour connaitre aussi le trafic de son site.
J'avoue qu'en m'abonnant ici, je pensais avoir un panneau d'administration plus complet. smile

Exemple tout simple :

http://img256.imageshack.us/img256/9341/stathh8.jpg

Dernière modification par Jaguar (09-01-2008 05:51:45)

Hors ligne

 

Pied de page des forums

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson