Hola chicos de elhacker.net, 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:
//index.php
$p_directorio_det = '/home/usuario/';
if (is_dir($p_directorio_det))
{
echo "Si es un directorio";
if ($dh = opendir($p_directorio_det))
{
while (($archivo = readdir($dh)) !== false)
{
if ($archivo != "." && $archivo != "..")
{
$archivo_movimiento_fuente = $p_directorio_det.$archivo;
}
}
}
}
}
else
{
echo "No es un directorio";
}
Y me está imprimiendo diciendo que no es un directorio, alguien sabe por qué pasa esto???
Gracias Chao.
Porque le deniega el acceso, php trabaja con el user www-data asi que no podrá acceder a ningún directorio mas arriba de /home/ , si le sacas el error_reporting verás que el error te dice algo así como.. access denied on read /home/usuario/
He tratado de hacerlo directamente desde el mysql ya cambiandole tanto permisos a carpetas como al usuario mysql e incluso he entrado como root y como admin de mysql y me sale este error:
Citarmysql> LOAD DATA INFILE '/var/www
/upload/cab/f5541008.prn' INTO TABLE tabla_cab FIELDS TERMINATED BY '|';
ERROR 13 (HY000): Can't get stat of '/var/www/upload/cab/f5541008.prn' (Errcode: 13)
Alguién sabe que podría ser???
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