• Martes 19 de Noviembre de 2024, 16:23

Autor Tema:  No existe el directorio  (Leído 2329 veces)

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
No existe el directorio
« en: Lunes 15 de Diciembre de 2008, 22:00 »
0
Hola chicos de SoloCodigo, tengo un problema con una aplicación para recorrer un directorio, el .php lo tengo en /var/www/app/index.php y quiero recorrer el directorio /home/miuser/, lo hago con este código:
Código: PHP
  1. //index.php
  2. $p_directorio_det = '/home/usuario/';
  3. if (is_dir($p_directorio_det))
  4. {
  5.   echo "Si es un directorio";
  6.   if ($dh = opendir($p_directorio_det))
  7.   {
  8.     while (($archivo = readdir($dh)) !== false)
  9.     {
  10.       if ($archivo != "." && $archivo != "..")
  11.       {
  12.         $archivo_movimiento_fuente = $p_directorio_det.$archivo;
  13.        }
  14.      }
  15.    }
  16.  }
  17. }
  18. else
  19. {
  20.   echo "No es un directorio";
  21. }
  22.  
  23.  
Y me está imprimiendo diciendo que no es un directorio, alguien sabe por qué pasa esto???

Gracias Chao.
El pasado son solo recuerdos, el futuro son solo sueños

shadow_rev

  • Miembro MUY activo
  • ***
  • Mensajes: 397
  • Nacionalidad: co
  • Un SPARTAN no muere en combate
    • Ver Perfil
    • http://shadowrev.blogspot.com
Re: No existe el directorio
« Respuesta #1 en: Martes 16 de Diciembre de 2008, 00:17 »
0
Pueden ser 2 cosas:

1. El servidor web no tiene privilegios para leer la carpeta.
2. Aunque la carpeta tenga todos los privilegios, puede que (el condenado) SELinux esté bloqueando el acceso, debido a que es una carpeta de usuario.

Ya has probado la función con otras carpetas (p.e /var/www/app/.) ??

Si no me equivoco, usas Debian no ?? dejame te averiguo el dato del SELinux, eso me pasó pero cuando tenía Fedora 8.

:suerte:
Volará quien le ponga alas a sus sueños (Candidate for goddess)
Si el mal existe en este mundo, reside en el corazón de la humanidad (Edward D. Morrison - Tales of Phantasia)
Lo único que puedes cambiar del pasado, es lo que sientes por él en el presente (Lockon Stratos - Mobile Suit Gundam 00)
Ingeniero de Sistemas

shakka

  • Miembro HIPER activo
  • ****
  • Mensajes: 679
  • Nacionalidad: cr
    • Ver Perfil
    • http://mbrenes.com
Re: No existe el directorio
« Respuesta #2 en: Martes 16 de Diciembre de 2008, 03:22 »
0
Lo probe en Debian Sid, ya trabaja como se espera, a excepcion de una llave de cierre que esta de mas(y que quite) en el codigo que pusiste

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: No existe el directorio
« Respuesta #3 en: Martes 16 de Diciembre de 2008, 14:16 »
0
Lo he acomodado de otra forma, ahora estoy tratando de subir unos archivos vía MySQL con el LOAD DATA INFILE, pero me sale este error:
Citar
mysql> LOAD DATA INFILE '/var/www/upload/cab/f5541008.prn' INTO TABLE tabla FIELDS TERMINATED BY '|';
ERROR 1045 (28000): Access denied for user 'usdist'@'%' (using password: YES)
El pasado son solo recuerdos, el futuro son solo sueños

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: No existe el directorio
« Respuesta #4 en: Martes 16 de Diciembre de 2008, 14:38 »
0
Le asigne todos los permisos al usuario, pero ahora me saca este error:
Citar
ERROR 13 (HY000): Can't get stat of '/var/www/upload/cab/f5541008.prn' not found (Errcode: 2)
El pasado son solo recuerdos, el futuro son solo sueños

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: No existe el directorio
« Respuesta #5 en: Martes 16 de Diciembre de 2008, 15:53 »
0
Ya lo pude arreglar, tuve que:
1) Darle permisos de ejecución chmod +x a todo el path donde están los archivos a subir, ósea, un chmod +x desde /var, hasta /var/www/upload
2) Darle permisos 777 a los archivos (no me pregunten por qué??? pero sino le daba permisos tampoco funcionaba)
3) Darle permisos GRANT ALL PRIVILEGES al usuario MySQL

Y ahí si funciono, gracias
El pasado son solo recuerdos, el futuro son solo sueños

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: No existe el directorio
« Respuesta #6 en: Martes 16 de Diciembre de 2008, 16:12 »
0
Cita de: "Edo"
3) Darle permisos GRANT ALL PRIVILEGES al usuario MySQL
Cuidado con esto porque cualquier exploit puede dejarle al atacante con los privilegios del usuario mysql

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: No existe el directorio
« Respuesta #7 en: Martes 16 de Diciembre de 2008, 16:49 »
0
Las personas que usan la aplicación no tienen tantos conocimientos como para eso, además no es una aplicación donde puedas entrar directamente solamente los clientes saben la dirección por la cual entrar, quien quiera entrar le tocaría usar ingenieria social para eso. :huh:  :huh:
El pasado son solo recuerdos, el futuro son solo sueños