Salut
En consultant le forum de mon hébergeur (NFrance ) , je suis tombé sur un script bien utile pour connaitre l'espace occupé par votre site sur son hébergement .
Au niveau de sa mise en place, il suffit (comme tout les scripts) de le renommer en .php et de l'uploader sur votre espace ftp.
Voici le script :
<?php
#
# ATTENTION : renommer ce fichier avec l'extension .php
#
?>
<html><head><title>Calcul de l'espace occupé LBNF</title>
<script language="JavaScript">
<!--
function cache() {
if (document.all) {
document.all.patience.style.visibility = 'hidden';
} else if (document.getElementById) {
document.getElementById('patience').style.visibility = 'hidden';
} else {
document.patience.visibility = 'hidden';
}
}
// -->
</script></head>
<?php
function taille_rep($ftp_conn_id, $rep) {
$taille_rep = 0;
echo "<br>Répertoire $rep...\n";
flush();
$liste = ftp_rawlist($ftp_conn_id, $rep);
for ($i = 1 ; $i < sizeof($liste) ; $i++) {
if(!preg_match('/(.).{9}\s+\d+\s+\d+\s+\d+\s+(\d+).*\s([^\s]+)$/',
$liste[$i], $res)) {
echo "</tt></div>\n";
echo '<br><b>Erreur :</b> problème avec l\'expression ';
echo "régulière.\n";
echo '<br>Votre serveur FTP est-il sous Unix ? (NB : ce script a ';
echo "été\n";
echo 'développé <b>uniquement</b> pour être employé ';
echo "avec les\n";
echo 'comptes des <a href=\"http://www.les-basics-nfrance.com/\">Basics ';
echo "NFrance</a>).\n";
echo '<br /><br />Ligne en erreur : [<tt>' . $liste[$i];
echo "</tt>].\n";
exit;
}
if ($rep == '/') {
$rep='';
}
if ($res[1] == '-') {
$taille += $res[2];
} elseif ($res[1] == 'd') {
$taille += taille_rep($ftp_conn_id, $rep . '/' . $res[3]);
} else {
echo '<br><b>Avertissement :</b>la ressource ' . $rep . '/';
echo $res[3] . 'est du type "' . $res[1] . '", non ';
echo "géré.\n";
}
}
return $taille;
}
if (!$HTTP_POST_VARS['domaine'] || !$HTTP_POST_VARS['login']
|| !$HTTP_POST_VARS['passe_ftp'] || !$HTTP_POST_VARS['base']
|| ($HTTP_POST_VARS['base'] != 'aucune' && !$HTTP_POST_VARS['passe_sql'])) :
?>
<body bgcolor="#FFFFFF">
<form action="<?php echo $HTTP_SERVER_VARS['PHP_SELF']; ?>" method="POST">
<table border="0"><tr>
<td>Votre nom de domaine (sans les "www.") :</td><td><input
type="text" name="domaine" value="<?=$HTTP_POST_VARS['domaine']?>"></td>
</tr><tr>
<td>Votre login :</td><td><input
type="text" name="login" value="<?=$HTTP_POST_VARS['login']?>"></td>
</tr><tr>
<td>Votre mot de passe pour FTP :</td><td><input
type="password" name="passe_ftp"></td>
</tr><tr>
<td>Type de votre base de données :</td><td><input
type="radio" name="base" value="mysql" checked="checked">MySQL <input
type="radio" name="base" value="pgsql">PostgreSQL <input
type="radio" name="base" value="aucune">Aucune (hebergement-gratuit.com)</td>
</tr><tr>
<td>Votre mot de passe pour la base de données :</td><td><input
type="password" name="passe_sql"></td>
</tr><tr>
<td> </td><td><input type="submit"
value="Calculer l'espace occupé"></td>
</tr></table>
</form>
<?php
else :
?>
<body bgcolor="#FFFFFF" onload="cache();">
<?php
echo '<h2>Espace utilisé par le domaine ' . $HTTP_POST_VARS['domaine'];
echo ', compte ' . $HTTP_POST_VARS['login'] . "</h2>\n";
$servftp = 'ftp.' . $HTTP_POST_VARS['domaine'];
if (!($ftp_conn_id = @ftp_connect($servftp))) {
echo "<br><b>Erreur :</b> connexion à $servftp impossible.\n";
exit;
}
if (!@ftp_login($ftp_conn_id, $HTTP_POST_VARS['login'],
$HTTP_POST_VARS['passe_ftp'])) {
echo "<br><b>Erreur :</b> login et/ou mot de passe refusé(s).\n";
exit;
}
echo '<!-- ' . str_repeat(' ', 300) . " -->\n";
echo '<div id="patience" style="position: absolute"><tt>Veuillez patienter, ';
echo 'le script est en train de parcourir votre compte FTP... ';
flush();
$taille = taille_rep($ftp_conn_id, '/');
ftp_quit($ftp_conn_id);
echo "</tt></div>\n";
echo '<p>Espace utilisé par les fichiers : ';
echo number_format($taille, 0, ',', ' ') . ' octets ';
echo '(' . number_format($taille/1024, 2, ',', ' ') . ' Kio ~ ';
echo number_format($taille/1048576, 2, ',', ' ') . " Mio)<br>\n";
$taille2 = 0;
if ($HTTP_POST_VARS['base'] == 'mysql') {
if (!($my_conn_id = mysql_connect('localhost', $HTTP_POST_VARS['login'],
$HTTP_POST_VARS['passe_sql']))) {
echo '<br><b>Erreur :</b> connexion MySQL impossible (';
echo mysql_error() . ')';
exit;
}
if (!mysql_select_db($HTTP_POST_VARS['login'], $my_conn_id)) {
echo '<br><b>Erreur :</b> sélection de la base ';
echo $HTTP_POST_VARS['login'] . 'impossible (' . mysql_error() . ')';
exit;
}
if (!($res_id = mysql_query('SHOW TABLE STATUS', $my_conn_id))) {
echo '<br><b>Erreur :</b> problème SHOW TABLE STATUS (';
echo mysql_error() . ')';
exit;
}
while ($ligne = mysql_fetch_array($res_id)) {
$taille2 += $ligne['Data_length'] + $ligne['Index_length'];
}
mysql_free_result($res_id);
mysql_close($my_conn_id);
echo 'Espace utilisé par la base MySQL : ';
echo number_format($taille2, 0, ',', ' ') . ' octets ';
echo '(' . number_format($taille2/1024, 2, ',', ' ') . ' Kio ~ ';
echo number_format($taille2/1048576, 2, ',', ' ') . " Mio)</p>\n";
} elseif ($HTTP_POST_VARS['base'] == 'pgsql') {
echo 'Espace utilisé par la base PostgreSQL : ';
echo "<i>indéterminé</i>.</p>\n";
} else {
echo "Pas de base de données.</p>\n";
}
$taille += $taille2;
echo '<p>Espace total utilisé par le compte ';
echo $HTTP_POST_VARS[login] . ' : ';
echo number_format($taille, 0, ',', ' ') . ' octets ';
echo '(' . number_format($taille/1024, 2, ',', ' ') . ' Kio ~ ';
echo number_format($taille/1048576, 2, ',', ' ') . " Mio)</p>\n";
if ($HTTP_POST_VARS['base'] == 'pgsql') {
echo '<p>Valeur indicative : la taille de la base n\'a pas pu ';
echo 'être déterminée. Si vous savez comment faire, ';
echo 'écrivez-moi.</p>\n';
}
echo '<p><a href="' . $HTTP_SERVER_VARS['PHP_SELF'] . '">Revenir au ';
echo "formulaire</a>.</p>\n";
endif;
?>
</body></html>
A +