| 
	
		|  Autor | Tema: Funcion para medir directorio completos (Lista para que la usen)  (Leído 7,636 veces) |  
	| 
			| 
					
						| SERBice | 
 
Cuendo yo necesite que me pasaran algo asi nadie supo entender que necesitaba (o no quisieron ayudarme   ) en fin, aqui les dejo una funcion que hice para medir el tamaño de directorios completos (incluyendo subdirectorio) <?php /*############################################################################
 #                                                                            #
 #Nombre de la funcion: MeDir                                                 #
 #                                                                            #
 #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 unico parametro de la funcion MeDir es $dir,   #
 #                          Dicho parametro establece el directorio sobre el  #
 #                          cual actuara la funcion, es decir, que establece  #
 #                          el directorio del cual se obtendra informacion de #
 #                          su tamaño completo, incluyendo subdirectorios.    #
 #                          Si $dir no se establece se utilizara el directorio#
 #                          donde se encuentra el archivo que llamo a la      #
 #                          funcion                                           #
 #                                                                            #
 #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®                                                       #
 #                                                                            #
 ############################################################################*/
 function MeDir($dir=".")
 {
 /* 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;
 
 /* Recorremos el array saltando los directorios . y .. */
 for ($i=2; $i<count($arr); $i++)
 {
 /* Si es un archivo hacer..... */
 if (is_file($dir ."/". $arr[$i]))
 {
 /* 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]);
 }
 /* Si es un directorio hacer..... */
 elseif (is_dir($dir ."/". $arr[$i]))
 {
 /* Establecemos que la variable $sizedir es igual
 a ella misma más el valor devuelto por MeDir */
 $sizedir += MeDir($dir . "/" . $arr[$i]);
 }
 /* Si no sabemos que es reaccionamos como si fuera un archivo y ... */
 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;
 }
 ?>
 
 
 |  
						| 
								|  |  
								| « Última modificación:  2 Agosto 2012, 10:04 am por SERBice » |  En línea | 
 
 |  |  |  | 
			| 
					
						| deya 
								 
								
								 Desconectado 
								Mensajes: 378
								
								 
								Muñeca Princesa Deya Bella
								
								
								
								
								
								     | 
 
Excelente, muy útil     Buen aporte.    Algo así estaba necesitando en estos días.    Salu2 
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 "No es mas pobre el que tiene poco, sino el que mucho ambiciona" Charles Chaplin.  |  |  |  | 
			| 
					
						| SERBice | 
 
Esta revision achica el codigo y añade la posibilidad de medir en subdirectorios o no segun se necesite <?php /*############################################################################
 #                                                                            #
 #Nombre de la funcion: MeDir                                                 #
 #Version de la funcion:  1.0.0.4                                             #
 #Fecha de la funcion (Creacion):  01/06/2006                                 #
 #Fecha de la funcion (ultima revision):  19/08/2006                          #
 #                                                                            #
 #Autor: SERBice(r) #
 #                                                                            #
 #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;
 
 /* Recorremos el array saltando los directorios . y .. */
 for ($i=2; $i<count($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;
 }
 ?>
 |  
						| 
								|  |  
								| « Última modificación:  2 Agosto 2012, 10:06 am por SERBice » |  En línea | 
 
 |  |  |  | 
			| 
					
						| Neostream 
								
								 Desconectado 
								Mensajes: 113
								
								 
								Neostream&ImagenCreativa
								
								
								
								
								
								     | 
 
creo que se refiere a: que lo copiara y lo pegara    en pocas palabras que asi mismo lo usara     ey buenisimo gracias por el aporte |  
						| 
								|  |  
								|  |  En línea | 
 
 solo se q nada se   |  |  |  | 
			| 
					
						| SERBice | 
 
el codigo no lo copie de ningun lado, si como explique en el primer post de este tema yo necesitaba esta funcion y nadie supo comprender que necesitaba y decidi hacerlo yo. todo nacio aca, cuando pedi ayuda y no recibi mucha (solo un pokito, pero que en fin no use mucho). La URL del post que inicio todo: http://foro.elhacker.net/index.php/topic,114834.0.html la funcion es de mi autoria y pronto publicare otra nueva que espero que acepten con agrado. AÑADO: si el codigo lo han visto en otros foros lo he publicado yo (SERBice), y si esta publicado por otra persona en algun otro lado por favor notificarme si no ha respetado los creditos del autor. Gracias |  
						| 
								|  |  
								| « Última modificación: 21 Agosto 2006, 02:22 am por SERBice » |  En línea | 
 
 |  |  |  | 
			| 
					
						| SERBice | 
 
Para quienes tengan PHP3/4 y no posean la funcion scandir() la cual es utilizada por MeDir pueden utilizar el siguiente codigo para crear la funcionscandir(). <?php Function scandir ($dir)
 {
 $dir = opendir($dir);
 $resultado=Array();
 $i=-1;
 while ($file = readdir($dir)) {
 $i++;
 $resultado[$i]=$file;
 }
 closedir($dir);
 return $resultado;
 }
 ?>
simplemente agrgando ese codigo antes del de la funcion MeDir todo les funcionara sobre rieles   
 Revision .11 de la funcion MeDir.  Detalles de la revision:     Algunas veces en ciertos servidores los directorios no se listan del modo esperado (primero el directorio ".", despues ".." y despues el resto, sino que se listan de forma aleatoria y es por ello que la funcion en algunos servidores daba error porque estaba diseñada para saltar los 2 primeros directorios suponiendo qeu fueran "." y ".." cosa que no es constante en todos los servidores. Actualemnte el bucle de la funcion parte de 0 y no de 2 y con un if se comprueba que el nombre de archivo/directorio actual no sea "." ni "..". <?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) #
 #                                                                            #
 #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;
 }
 ?>
Este mismo hilo lo encontras en http://www.zerohack.com.ar/foro/index.php/topic,173.msg254.html#msg254  con todas las revisiones y parches para esta funcion   |  
						| 
								|  |  
								| « Última modificación:  2 Agosto 2012, 10:06 am por SERBice » |  En línea | 
 
 |  |  |  |  |  
 
	
 
 
				
					
						| Mensajes similares |  
						|  | Asunto | Iniciado por | Respuestas | Vistas | Último mensaje |  
						|   |   | Descarga Juegos Para Pc Completos
							« 1 2 3 » Juegos y Consolas
 | yalthon | 20 | 49,098 |  27 Octubre 2005, 18:46 pm por robzz
 |  
						|   |   | GPS mapas de Mexico completos para Palms y otros mas. Dispositivos Móviles (PDA's, Smartphones, Tablets)
 | Martin-Ph03n1X | 1 | 11,094 |  29 Septiembre 2010, 22:21 pm por Jaime Mendez
 |  
						|   |   | se pueden bajar juegos para pc directoy y completos desde aqui Juegos y Consolas
 | ravas | 1 | 2,530 |  15 Julio 2010, 23:19 pm por Ariath
 |  
						|   |   | How to: Wake On Lan  Ayuda para revision Foro Libre
 | peib0l | 6 | 3,999 |  1 Noviembre 2010, 18:10 pm por jbndg
 |  
						|   |   | El proyecto SamKnows nos necesita para medir con precisión el rendimiento de ... Noticias
 | wolfbcn | 0 | 2,144 |  14 Octubre 2013, 02:59 am por wolfbcn
 |    |