Título: Problema con opendir(); Publicado por: Hacklinx en 11 Febrero 2014, 14:24 pm Hola a todos, llevo tiempo intentando crear una página que muestre los archivos que subo a un determinado directorio, pero ocurren cosas muy estrañas:
<?php $direccion="misdatos/"; $directorio = opendir($direccion); while ($archivo = readdir($directorio)) { $fp = fopen($archivo,"r"); $texto = fread($fp, filesize($archivo)); echo "<div id=\"container1\">"; echo $texto; echo "<hr SIZE=3>"; echo "</div>"; echo "<br>"; } ?> Según este código el script debería mostrar solo, los archivos que se encuentren en ese directorio, vamos a ver antes de nada os cuento las estructuras de mis directorios. Tengo el servidor en webhost y me conecto por filezilla, está la carpeta raíz: / Dentro de ella esta la de public_html: /public_html Allí tengo el index.php, y recursos de la página web. Dentro de ella se encuentra misdatos: /public_html/misdatos Que solo contiene los archivos que quiero mostrar, pero me salen estos errores: PHP Error Message Warning: fopen(ejemplo2.ko) [function.fopen]: failed to open stream: No such file or directory in /home/user/public_html/index.php on line 63 Free Web Hosting PHP Error Message Warning: filesize() [function.filesize]: stat failed for ejemplo2.ko in /home/user/public_html/index.php on line 64 Free Web Hosting PHP Error Message Warning: fread(): supplied argument is not a valid stream resource in /home/user/public_html/index.php on line 64 Free Web Hosting No se encontró el directorio es el error, ¿alguna idea? He probado también a poner: $direccion="/public_html/misdatos/"; Y me sale el mismo error que no encuentra el directorio o no se que pasa. Luego copio los archivos de misdatos en public_html y el código del principio me muestra solo los datos de misdatos ahora si los muestra, es muy raro. No se que hacer. Edito: Parece que solo me las lee cuando están dentro del directorio del index.php, luego como podemos entonces acceder a directorios de dentro de public_html para poderlos usar o mostrar su contenido. Edito otra vez: Además me aparecen 2 archivos que no se encuentran en el directorio misdatos. que son "." y ".." ?? Saludos. Título: Re: Problema con opendir(); Publicado por: Hacklinx en 11 Febrero 2014, 19:54 pm Saludos gente, visto que no encontré solución decidí meterlo todo en el directorio public_html, y mostrar solo los de la terminación .ko, de tal forma:
$trozos = explode(".", $archivo); $extension = end($trozos); if(strcmp($extension,"ko")==0) ... Solucionado, no está mal para descubrir php de hace solo un día :) Saludos |