Como saber la cantidad de espacio de mi cuenta en host gratuito.

Iniciado por newinl, 20 Mayo 2007, 01:35 AM

0 Miembros y 1 Visitante están viendo este tema.

newinl

Saludos a todos.
La cuestion es la siguiente. Tengo una galeria (coppermine) en un host gretuito. tiene de todo, base de datos, php, cgi etc. Menos control panel. No me hace tanta falta por ahora porque calculo que aun tengo espacio.
La cosa es que quiero saber si alguien sabe de un escript o algo que me deje ver la cantidad de espacio restante y utilizado, de menos pues el restante.
Oajalá y me puedan ayudar,
Esta sobre linux.
Buen gracias por adelantado

newinl


SERBice

Puedes usar una fncion que desarrolle el año pasado apra medir el espacio ocupado, en base al espacio ocupado simplemente s lo restas a la capacidad y obtienes el espacio libre.

La funcion esta aqui

newinl

Saludos comapeon. muchas gracias por la respuesta bien intencionada, buscando ya había visto tu codigo, me parecio muy interesante.
Lo probe pero no me funciono.
Me marcaba un error:
CitarFatal error: Cannot redeclare scandir() in /users/1gb.at/f/fa/famliax/spacefree.php on line 13
Lo intente probar en varios servers pero en los demás me salia en blanco la pagina.
Debo aclarar que son hostings gratuitos.
Si soportan php verision 5
De todas formas gracias

SERBice

#4
el tema es asi, si el servidor soporta php 4 o anteriores necesitas poner este codigo adicional

<?php 
Function scandir ($dir)
{
$dir opendir($dir); 
$resultado=Array();
$i=-1;
while (
$file readdir($dir)) { 
    
$i++;
    
$resultado[$i]=$file

closedir($dir); 
return 
$resultado;
}
?>



pero, si el servidor sooprta php 5 ese codigo no va, ese es el error que te da.

por lo de la pagina en blanco, te da en blanco l pagina porque no estas llamando a la funcion.

Usando la funcion MeDir (debes respetar mayusculas ya que php es case sensitive, osea, reconoce mayusculas y minusculas) podras obtener la cantidad de espacio utilizadod e tu host.


el codigo ed la funcion es:

<?php
/* <!--
/*############################################################################ 
#                                                                            # 
#Nombre de la funcion: MeDir                                                 # 
#Version de la funcion:  1.0.0.11                                             #  
#Fecha de la funcion (Creacion):  01/06/2006                                 #  
#Fecha de la funcion (revision 1.0.0.4):  19/08/2006                         # 
#Fecha de la funcion (ultima revision):  16/09/2006                          # 
#                                                                            # 
#Autor: SERBice# 
#                                                                            # 
#Descripcion de la funcion: Recorre un directorio midiendo todos los         #
#                           archivos que contiene (incluso en sus            # 
#                           subdirectorios, hasta el ultimo).                # 
#                                                                            # 
#Parametros de la funcion: El parametro $dir, establece el directorio sobre el# 
#                          cual actuara la funcion, es decir, que establece  # 
#                          el directorio del cual se obtendra informacion de # 
#                          su tamaño.                                        #
#                          Si $dir no se establece se utilizara el directorio# 
#                          donde se encuentra el archivo que llamo a la      # 
#                          funcion                                              #  
#                          $subdirs es el parametro que establece si vamos   #
#                          o no a medir en subdirectorios o no. Si $subdirs  #
#                           no se establece su valor por defaul sera 1 y     #
#                           medira los subdirectorios                   # 
#                                                                            # 
#Este Software se distribuye bajo Licencia GPL, por lo cual se solicita que  # 
#se utilice con fines no lucrativos, es decir, que sea de uso Personal y No  # 
#Comercial. Que se conserven los derechos de autor y que cualquier           # 
#modificacion le sea notifiacda al autor, para saber y estar al tanto de     # 
#los avances del software en cuestion; y de esta manera enriquezer aun mas   # 
#esta peque?a herramienta                                                    # 
#                                                                            # 
#Atentamente: SERBice(r)                                                     # 
#                                                                            # 
############################################################################*/ 
function MeDir($dir=".",$subdirs=1
    { 
        
/* Creamos un array con todos los nombres de directorios y 
        archivos contenidos dentro del directorio inicial */ 
        
$arr scandir($dir); 

        
/* establecemos que la variable $sizedir es igual a cero */ 
        
$sizedir 0

        
/* YA NO Recorremos el array saltando los directorios . y .. */ 
        
for ($i=0$i<count($arr); $i++)
            {
                
/* Comprobamos que el archivo/directorio actual no sea "." ni ".." */
              
if ($arr[$i]!="." && $arr[$i]!="..")
               {
                
/* Si es un directorio hacer..... */ 
                
if (is_dir($dir ."/"$arr[$i])) 
                    { 
                        
/* Establecemos que la variable $sizedir es igual 
                        a ella misma m?s el valor devuelto por MeDir */ 
                        
if ($subdirs==1$sizedir += MeDir($dir "/" $arr[$i]); 
                    } 
                
/* Si es un archivo hacer ... */ 
                
else 
                    { 
                        
/* Establecemos que la variable $sizedir es igual 
                        a ella misma m?s el tama?o del fichero $dir ."/". $arr[$i] */ 
                        
$sizedir += filesize($dir ."/"$arr[$i]); 
                    } 
               }
            } 
        
/* Devolvemos el valor total de $sizedir */ 
        
return $sizedir
    } 
?>



ahora bien, para llamar a la funcion, simplemente haces esto:

<?php
  
echo MeDir(".",1);
?>


eso te imprimirá la cantidad de bytes que esta ocupando el directorio desde el cual uses ese codigo, si, ese codigo lo pones e el archivo midiendo.php supongamos, en la raiz de tu servidor medira el tamaño de todo lo que tngas dentro ed el, opr ende te dará el espacio ocupado y si queires saber el espacio libre has una simple cuenta: (espacio total)-(espacio ocupado devuelto por la funcion) = (espacio libre)

espero que te haya servidor de ayuda, si queres que te de una mano mas detallada cntactame por mail/msn

newinl

Vas a decir que que latoso soy pero pues parece que el erro lo estoy cometiendo en algo muy básico.
esta es al version del php PHP Version 5.2.2-dev la saque haciendo un phpinfo.php ya que como te dije no hay panel de control.
La cosa es que parece que me debería de funcionar pero ahora me surge la duda, si son dos los archivos que debo subir a mi directorio raíz?
porque dices
para llamar a la funcion, simplemente haces esto:
Código:
<?php
  
echo MeDir(".",1);
?>


Pero antes me pones la función completa. Entonces son dos los php que debo subir uno con la función y otro para llamarla o como? Si me explicas por favor.
Dentro de las comillas que estan dentro del parentesis no debo poner nada o si? leí o me parecio entender que no porque de esa forma leera todos los directorios.
Bueno espero tu ayuda y gracias por el interes.

.Carlos

En un solo archivo metes la funcion(el primer codigo que puso SERBice) y al final de este pones el echo para llamar a la funcion, claro antes de cerrar el tag php.


<?php
/* <!--
/*############################################################################ 
#                                                                            # 
#Nombre de la funcion: MeDir                                                 # 
#Version de la funcion:  1.0.0.11                                             #  
#Fecha de la funcion (Creacion):  01/06/2006                                 #  
#Fecha de la funcion (revision 1.0.0.4):  19/08/2006                         # 
#Fecha de la funcion (ultima revision):  16/09/2006                          # 
#                                                                            # 
#Autor: SERBice(r) (Sergio Baudracco - serbice@gmail.com & serbice@serbice.net)# 
#                                                                            # 
#Descripcion de la funcion: Recorre un directorio midiendo todos los         #
#                           archivos que contiene (incluso en sus            # 
#                           subdirectorios, hasta el ultimo).                # 
#                                                                            # 
#Parametros de la funcion: El parametro $dir, establece el directorio sobre el# 
#                          cual actuara la funcion, es decir, que establece  # 
#                          el directorio del cual se obtendra informacion de # 
#                          su tamaño.                                        #
#                          Si $dir no se establece se utilizara el directorio# 
#                          donde se encuentra el archivo que llamo a la      # 
#                          funcion                                              #  
#                          $subdirs es el parametro que establece si vamos   #
#                          o no a medir en subdirectorios o no. Si $subdirs  #
#                           no se establece su valor por defaul sera 1 y     #
#                           medira los subdirectorios                   # 
#                                                                            # 
#Este Software se distribuye bajo Licencia GPL, por lo cual se solicita que  # 
#se utilice con fines no lucrativos, es decir, que sea de uso Personal y No  # 
#Comercial. Que se conserven los derechos de autor y que cualquier           # 
#modificacion le sea notifiacda al autor, para saber y estar al tanto de     # 
#los avances del software en cuestion; y de esta manera enriquezer aun mas   # 
#esta peque?a herramienta                                                    # 
#                                                                            # 
#Atentamente: SERBice(r)                                                     # 
#                                                                            # 
############################################################################*/ 
function MeDir($dir=".",$subdirs=1
    { 
        
/* Creamos un array con todos los nombres de directorios y 
        archivos contenidos dentro del directorio inicial */ 
        
$arr scandir($dir); 

        
/* establecemos que la variable $sizedir es igual a cero */ 
        
$sizedir 0

        
/* YA NO Recorremos el array saltando los directorios . y .. */ 
        
for ($i=0$i<count($arr); $i++)
            {
                
/* Comprobamos que el archivo/directorio actual no sea "." ni ".." */
              
if ($arr[$i]!="." && $arr[$i]!="..")
               {
                
/* Si es un directorio hacer..... */ 
                
if (is_dir($dir ."/"$arr[$i])) 
                    { 
                        
/* Establecemos que la variable $sizedir es igual 
                        a ella misma m?s el valor devuelto por MeDir */ 
                        
if ($subdirs==1$sizedir += MeDir($dir "/" $arr[$i]); 
                    } 
                
/* Si es un archivo hacer ... */ 
                
else 
                    { 
                        
/* Establecemos que la variable $sizedir es igual 
                        a ella misma m?s el tama?o del fichero $dir ."/". $arr[$i] */ 
                        
$sizedir += filesize($dir ."/"$arr[$i]); 
                    } 
               }
            } 
        
/* Devolvemos el valor total de $sizedir */ 
        
return $sizedir
    }

  echo 
MeDir(".",1);

?>



Este archivo lo metes en el directorio raiz para que te mida toda la web(cada archivo en cada directorio y subdirectorio).

SERBice

Cita de: newinl en 14 Junio 2007, 21:11 PM
Vas a decir que que latoso soy pero pues parece que el erro lo estoy cometiendo en algo muy básico.
esta es al version del php PHP Version 5.2.2-dev la saque haciendo un phpinfo.php ya que como te dije no hay panel de control.
La cosa es que parece que me debería de funcionar pero ahora me surge la duda, si son dos los archivos que debo subir a mi directorio raíz?
porque dices
para llamar a la funcion, simplemente haces esto:
Código:
<?php
  
echo MeDir(".",1);
?>


Pero antes me pones la función completa. Entonces son dos los php que debo subir uno con la función y otro para llamarla o como? Si me explicas por favor.
Dentro de las comillas que estan dentro del parentesis no debo poner nada o si? leí o me parecio entender que no porque de esa forma leera todos los directorios.
Bueno espero tu ayuda y gracias por el interes.

yo te puse: la funcion MeDir que y mismo diseñé, la funcion "scandir suplente", para que si no tienes php5 el script n te de error y te puse la frma de llamar a MeDir, no son 3 archivos, ni 2 archivos ni un archivo, son solo codigos, la forma de la cual tu elijas configurarlo, cmopilarlo, subirlo es decicion tuya, y no puedo influir en eso a menos que me pidas exactamente que te ayude a crear el archivo php. Yo solo te di las instrucciones apra utilizar la funcion.

newinl

#8
haber bajo el riesgo de empezar a ser irritante mi actuar les comento.
Lo que me dijeron En un solo archivo metes la funcion(el primer codigo que puso SERBice) y al final de este pones el echo para llamar a la funcion, claro antes de cerrar el tag php.
Y eso hice, luego SErbice me dijo que no eran archivos sino codigos, entiendo que lo debía incorporar algun pagina php. Subi una pagina en donde hiba el codigo como me la dijo el carlo que se incorporban y el error es:
Warning: scandir() [function.scandir]: open_basedir restriction in effect. File(.) is not within the allowed path(s): (/users/1gb.at/f/fa/faxxxx/:/users/common) in /users/1gb.at/f/fa/faxxxx/space.php on line 43

Warning: scandir(.) [function.scandir]: failed to open dir: Operation not permitted in /users/1gb.at/f/fa/faxxxxx/space.php on line 43

Warning: scandir() [function.scandir]: (errno 1): Operation not permitted in /users/1gb.at/f/fa/faxxxx/space.php on line 43
19250285


Ahora, esto parece que me estan negando usar esas funciones en el server lo que entonces me lleva a pensar que no lo hice mal sino que solamente el servidor no me dejrá ejecutar la funcion.
Si estoy mal pues espero no molestar si pido que me digan en que estoy mal.

SERBice

#9
2 cosas, en primero, seria muchisimo mas facil si nos pasas el codigo que estas usando (ya se que es mi funcion, pero hay que ver el entorno en el cual la llamas y la forma de la cual la llamas). y en segundo te puedo decir que intentes con esta version modificada:

<?php 
Function scandir2 ($dir)
{
$dir opendir($dir); 
$resultado=Array();
$i=-1;
while (
$file readdir($dir)) { 
    
$i++;
    
$resultado[$i]=$file

closedir($dir); 
return 
$resultado;
}

/* <!--
/*############################################################################ 
#                                                                            # 
#Nombre de la funcion: MeDir                                                 # 
#Version de la funcion:  1.0.0.11                                             #  
#Fecha de la funcion (Creacion):  01/06/2006                                 #  
#Fecha de la funcion (revision 1.0.0.4):  19/08/2006                         # 
#Fecha de la funcion (ultima revision):  16/09/2006                          # 
#                                                                            # 
#Autor: SERBice# 
#                                                                            # 
#Descripcion de la funcion: Recorre un directorio midiendo todos los         #
#                           archivos que contiene (incluso en sus            # 
#                           subdirectorios, hasta el ultimo).                # 
#                                                                            # 
#Parametros de la funcion: El parametro $dir, establece el directorio sobre el# 
#                          cual actuara la funcion, es decir, que establece  # 
#                          el directorio del cual se obtendra informacion de # 
#                          su tamaño.                                        #
#                          Si $dir no se establece se utilizara el directorio# 
#                          donde se encuentra el archivo que llamo a la      # 
#                          funcion                                              #  
#                          $subdirs es el parametro que establece si vamos   #
#                          o no a medir en subdirectorios o no. Si $subdirs  #
#                           no se establece su valor por defaul sera 1 y     #
#                           medira los subdirectorios                   # 
#                                                                            # 
#Este Software se distribuye bajo Licencia GPL, por lo cual se solicita que  # 
#se utilice con fines no lucrativos, es decir, que sea de uso Personal y No  # 
#Comercial. Que se conserven los derechos de autor y que cualquier           # 
#modificacion le sea notifiacda al autor, para saber y estar al tanto de     # 
#los avances del software en cuestion; y de esta manera enriquezer aun mas   # 
#esta peque?a herramienta                                                    # 
#                                                                            # 
#Atentamente: SERBice(r)                                                     # 
#                                                                            # 
############################################################################*/ 
function MeDir($dir=".",$subdirs=1
    { 
        
/* Creamos un array con todos los nombres de directorios y 
        archivos contenidos dentro del directorio inicial */ 
        
$arr scandir2($dir); 

        
/* establecemos que la variable $sizedir es igual a cero */ 
        
$sizedir 0

        
/* YA NO Recorremos el array saltando los directorios . y .. */ 
        
for ($i=0$i<count($arr); $i++)
            {
                
/* Comprobamos que el archivo/directorio actual no sea "." ni ".." */
              
if ($arr[$i]!="." && $arr[$i]!="..")
               {
                
/* Si es un directorio hacer..... */ 
                
if (is_dir($dir ."/"$arr[$i])) 
                    { 
                        
/* Establecemos que la variable $sizedir es igual 
                        a ella misma m?s el valor devuelto por MeDir */ 
                        
if ($subdirs==1$sizedir += MeDir($dir "/" $arr[$i]); 
                    } 
                
/* Si es un archivo hacer ... */ 
                
else 
                    { 
                        
/* Establecemos que la variable $sizedir es igual 
                        a ella misma m?s el tama?o del fichero $dir ."/". $arr[$i] */ 
                        
$sizedir += filesize($dir ."/"$arr[$i]); 
                    } 
               }
            } 
        
/* Devolvemos el valor total de $sizedir */ 
        
return $sizedir
    }

  echo 
MeDir(".",1);

?>


si aun asi sigues teniendo problemas, simplemente dinos en que servidor estas (en caso de ser gratuito) y pasanos el codigo para ver si hay algun problema en el; aunque or lo visto es ua restriccion del servidor a la funcion scandir o al directorio en cuestion; haz la prueba cno la funcion modificada que te di (son 2 funcioens en realidad), si te da error de nvo, intenta medir una subcarpeta especificando en lugar de "." poniendo "./nombre_directorio" como primer parametro de MeDir al llamarla.

Si encesitas algo mas solo hazlo saber, aqui estamos.

Y por favor
Citarbajo el riesgo de empezar a ser irritante mi actuar
trata ed no irritarte, solo estamos dandote ua mano amigable, si las cosas no salen como esperas ten paciencia, hay muchos factores que peuden estar alterando el resultado esperado. Yo la funcion l he diseñado y probado con exito en muchos servidores, quizas tu problema sea el servidor,quien sabe.... hay que esperar a que hagas las pruebas que te dije y si no funciona es el servidor.

PD: El chivo: yo vendo host bueno!