<!DOCTYPE html>
<head>
<meta charset="utf-8">
</head>
<body>
<h2>Listado de carpetas y directorios</h2>
<?php
$mysqli = new mysqli('localhost', 'root', '', 'db');
if (!$mysqli) {
die('Could not connect: ' . mysql_error());
}
// Función recursiva para leer archivos y directorios
function obtener_estructura_directorios($ruta) {
// Array 2 dimensiones del directorio actual
$mis_archivos = [];
// Se comprueba que realmente sea la ruta de un directorio
if (is_dir($ruta)) {
// Abre un gestor de directorios para la ruta indicada
$gestor = opendir($ruta);
echo "<ul>";
// Recorre todos los elementos del directorio
while (($archivo = readdir($gestor)) !== false) {
$ruta_completa = $ruta . "/" . $archivo;
$name = substr($archivo, 0, 5);
$fecha = substr($archivo, 6, 8);
$d = substr($fecha, 0, 2);
$m = substr($fecha, 2, 2);
$y = substr($fecha, 4);
$fecha = $y.'-'.$m.'-'.$d;
// Se muestran todos los archivos y carpetas excepto "." y ".."
if ($archivo != "." && $archivo != "..") {
// Si es un directorio se recorre recursivamente
if (is_dir($ruta_completa)) {
echo "<li>" . $archivo . "</li>";
// Sumamos el array del siguiente directorio
$mis_archivos = array_merge($mis_archivos, obtener_estructura_directorios($ruta_completa));
}else {
echo "<li>" . $archivo . "</li>";
$mis_archivos[] = ['name'=>$name, 'fecha'=>$fecha, 'archivo' => $archivo];
}
}
}
// Cierra el gestor de directorios
closedir($gestor);
echo "</ul>";
// Devolvemos el array del directorio actual
return $mis_archivos;
} else {
echo "No es una ruta de directorio valida<br/>";
}
}
// Activamos la función
$resultado = obtener_estructura_directorios('ach/');
echo '<h2>Contenido del array</h2>';
for($i=0; $i<count($resultado); $i++) {
$name =$resultado[$i]['name'];
$fecha = $resultado[$i]['fecha'];
$pdf = $resultado[$i]['archivo'];
$sql="INSERT INTO tabla (id_a, fecha, pdf) VALUES ('$name', '$fecha', '$pdf')";
$result = $mysqli->query($sql);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
// Aquí haces tu desglose y guardas los datos en la DB
}
echo '<h2>var_dump</h2>';
var_dump($resultado);
?>
</body>
</html>