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().
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 "..".
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
Código [Seleccionar]
<?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 "..".
Código [Seleccionar]
<?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
