Come posso fare uno script che mi indichi il mio spazio web rimanente?
Come posso fare uno script che mi indichi il mio spazio web rimanente?
Se n'era già parlato, è troppo dispendioso in termini di risorse.
Dovresti fare un filesize() per ogni file del tuo sito e sommare le dimensioni, in quanto disk_free_space, ritorna lo spazio rimanente dell'intera partizione e non solo del tuo spazio
io uso questo:
devi metterlo in una sottocartella oppure cambiare la variabile $dir con un solo punto (.)Codice PHP:
<html>
<head>
<style type="text/css">
body { background-color:#000000; color:#FFFFFF; }
table { font-family:"Courier New", Verdana; font-size:11px }
td { border:1px dashed #FF0000; }
a { background-color:#000000; color:#FFFFFF; text-decoration:underline overline; }
</style>
<title>Filesize</title>
<script type="text/javascript" languge="Javascript">
var popupOn = false
function popup ()
{
if (popupOn)
document.getElementById ("popup").style.display = "none"
else
document.getElementById ("popup").style.display = "block"
popupOn = !popupOn
}
</script>
</head>
<body>
<?
echo "<table align=\"center\">\n";
$totale = 0;
$dir = '..';
$max = 100;
$nome = 'root';
$return = '';
$f = 0;
$d = -1;
function scan_dir($dir)
{
global $totale, $return, $f, $d;
if( $handle = opendir($dir) )
{
while( $file = readdir($handle) )
{
if( $file != '.' && $file != '..' )
{
if( is_file($dir . '/' . $file) )
{
$size = filesize($dir . '/' . $file);
$totale += $size;
$total = number_format($size, 0, '.', ' ');
$return .= "<tr><td>{$dir}/{$file} </td><td><b>{$total}</b></td></tr>\n";
$f++;
}
elseif( is_dir($dir . '/' . $file) )
{
scan_dir($dir . '/' . $file);
}
}
}
}
$d++;
closedir($handle);
return $return;
}
function barra($x)
{
$w = 102;
$h = 12;
$percent = $x / 100 * $w;
$img = imagecreate($w, $h);
$border = imagecolorallocate($img, 0, 0, 0);
$back = imagecolorallocate($img, 0, 0, 255);
$fill = imagecolorallocate($img, 0, 174, 255);
imagefilledrectangle($img, 0, 0, $w - 1, $h - 1, $back);
imagefilledrectangle($img, 1, 1, $percent, $h - 1, $fill);
imagerectangle($img, 0, 0, $w - 1, $h - 1, $border);
imagepng($img, 'temp_img.png');
imagedestroy($img);
}
$file = scan_dir($dir);
$total = number_format( ($totale / (1024 * 1024)), 2, '.', ' ');
$dim = $max - $total;
$size = $total;
$end = 100 - ($dim / $max * 100);
$cout = ($dim / $max * 100);
barra($end);
echo "<tr><td>Nome Catrella </td><td><b>{$nome}</b></td></tr>
<tr><td>Massimo Spazio </td><td><b>{$max} mb</b></td></tr>
<tr><td>Spazio Utilizzato </td><td><b>{$size} mb</b></td></tr>
<tr><td>Spazio Libero </td><td><b>{$dim} mb</b></td></tr>
<tr><td>Percentuale Spazio Utilizzato </td><td><b>{$end} %</b></td></tr>
<tr><td>Percentuale Spazio Libero </td><td><b>{$cout} %</b></td></tr>
<tr><td>File </td><td><b>{$f}</b></td></tr>
<tr><td>Cartelle </td><td><b>{$d}</b></td></tr>
<tr><td colspan=\"2\"><img src=\"temp_img.png\" alt=\"\"></td></tr>
<tr><td colspan=\"2\"><a href=\"#\" onclick=\"popup()\">Nascondi file</a></td></tr>
<tr><td colspan=\"2\" align=\"center\">--------------------------------------------------- LISTA FILES ---------------------------------------------------</td></tr>\n
<tr>
<td colspan=\"2\">
<div id=\"popup\" style=\"display:none\">
<table width=\"100%\">
{$file}
</table>
</div>
</td>
</tr>";
echo "</table>";
?>
</body>
</html>
ciao ^__^
Ultima modifica di jostock : 19-02-2006 alle ore 20.48.10
una cosa sola non va la parte del mostar file
scusa Jostock, solo per curiosità, il tempo di processo quant'è ?
ho modificato il codice ora funziona.
io quel codice lo uso in locale e quindi ci mette poco tempo considerando che prima avevo uno spazio ke occupava quasi 100mb
ciao ^__^
so che è passato un po' di tempo (più di 15 anni) ma ho rispolverato lo script e l'ho messo nella mia root (quindi http://mionick.altervista.org/) ed infatti mi lista correttamente l'elenco ma non lo spazio utilizzato benché abbia imposta $dir a "." e non ".." mi da spazio utilizzato "0.033068783068785 %" dove sto sbagliando?
Ultima modifica di gutguy2 : 07-05-2021 alle ore 21.45.08
Salve,
ha modificato il valore di $max?
E' impostato a 100 MB invece di 3072 MB (ovvero 3.0 GB).
Io l'ho provato e a me funziona correttamente.
Comunque invece di riprendere una discussione molto vecchia, sarebbe meglio aprirne una nuova e lincare la discussione di riferimento. Orami quasta è andata, quindi non ne apra un altra.
Cordiali saluti.
Possiamo darci del tu (sono qui dal 2005 almeno)?
Quindi posso rispondere qui o devo aprire un altro thread?
Solo per dire che si ho impostato $max, $dir va bene a "."?
Si va bene, se lo preferisci, nessun problema.
Io comunque non è che vario forma di dialogo in base alla data di registrazione delgli utenti. Per coerenza e correttezza, mi rivolgo qui nel forum a tutti allo stesso modo, fatta eccezione quando richiesto diversamente dagli utenti, come nel tuo caso e per coloro che sono lincati come amici.
Beh, l'haveo menzioanto anche in precedenza, quindi riconfermo, continua pure qui.
A me funziona correttamente messo in una cartella con $dir ".." (che fa riferimento alla root).
Cordiali saluti.
Potrà essere espandibile a 3000MB su richiesta tramite pannello di controllo per vecchio account mentre sui nuovi 3072MB
intanto grazie per il supporto.
Ho copiato il codice paro paro mettendolo su index.php in http://mionick.altervista.org/spazio/, l'unico cosa cambiata è il valore di $max messo a 3072, ma ottengo:
Percentuale Spazio Utilizzato 0.032552083333343 %
Percentuale Spazio Libero 99.967447916667 %
File 10394
Cartelle 1091
non a caso il valore di File e Cartelle è reale, infatti cliccando su Nascondi file la lista è corretta.
Del resto se modifico $dir a "." mi da informazioni corrette sullo spazio utilizzato nella singola cartella spazio
Dal pannello di controllo (da qui), andando a fine pagina, cosa le risulta come vale massimo in MB?
Cordiali saluti.
risulta 3024, modificando $max con il suddetto valore ottengo:
Massimo Spazio 3024 mb
Spazio Utilizzato 1 100.07 mb
Spazio Libero 3023 mb
Percentuale Spazio Utilizzato 0.033068783068785 %
Percentuale Spazio Libero 99.966931216931 %
le prime 2 (come l'elenco dei files) mi sembrano corrette non le ultime 3
A lei indica che su un totale di 3024 MB, ci sono liberi 3023, quindi lo spazio usato sarebbe 1 MB.
La percentuale di 3023 MB su 3024 MB è 99.966931216931% mentre la percentuale di 1 MB su 3024 MB è 0.033068783068785 %
Quindi i conti tornanerebbero per:
Percentuale Spazio Utilizzato 0.033068783068785 %
Percentuale Spazio Libero 99.966931216931 %
Quello che invece non tornerebbe è: Spazio Utilizzato 1 100.07 mb
Ovviamnete non penso che lo sapzio occupato sai solo 1 MB.
Sepmre che poi 100.07 MB come sapzio utilizzato, corrisponda al valore reale, è probabile che ci sia almeno una variabile con valore impostato in modo errato.
Cordiali saluti.
Ultima modifica di GraphOGLRisorse : 10-05-2021 alle ore 19.41.54