[Resuelto] Problemas con un Array

Iniciado por DeXon18, 2 Junio 2015, 19:09 PM

0 Miembros y 1 Visitante están viendo este tema.

DeXon18

Hola buenas tardes a ver si me pueden ayudar ya que llevo medio día pegándome con este código pero lo logro sacar lo que necesito.

El código es este
Código (php) [Seleccionar]
$fname= $_GET["valor"];


function findAllDirs($start) {
   $dirStack=[$start];
   while($dir=array_shift($dirStack)) {
       $ar=glob($dir.'/*',GLOB_ONLYDIR|GLOB_NOSORT);
       if(!$ar) continue;

       $dirStack=array_merge($dirStack,$ar);
       foreach($ar as $DIR)
           yield $DIR;
   }
}


$result=[];
foreach(findAllDirs('D:\xampp\htdocs\www\serverpruebas') as $dir) {
   $match=glob($dir.'/'.$fname,GLOB_NOSORT);
   if(!$match) continue;

   $result=array_merge($result,$match);

}

echo '<pre>';
print_r($result);
echo '</pre>';


Y el resultado es este:

Array
(
   [ 0 ] => D:\xampp\htdocs\www\serverprueba\COMMAND.arc
)

Y lo que estoy intentado hacer es esto:

   [ 0 ] => Array
       (
           [name] => COMMAND.arc
           [size] => 21160480
           [date] => 2015-06-02 16:48:05
       )


Espero que me puedan ayudar.

Un saludo y gracias de antemano

#!drvy

#1
Te recomiendo que uses DirectoryIterator y en este caso su modo recursivo.

Un ejemplo de lo que pides:

Código (php) [Seleccionar]
<?php

$buscar 
$_GET['valor'];
$result = array();

$dir = new RecursiveDirectoryIterator('D:\xampp\htdocs\www\serverpruebas');
foreach(new 
RecursiveIteratorIterator($dir) as $archivo){

    
// Si no es un archivo, lo saltamos.
    
if(!$archivo->isFile()){ continue; }

    
$datos = array();
    
$datos['name'] = $archivo->getFilename();

    
// Si el nombre no coincide, saltar.
    
if($datos['name'] !== $buscar){ unset($datos); continue; }

    
$datos['size'] = $archivo->getSize();
    
$datos['date'] = date('Y-m-d H:i:s'$archivo->getMTime());

    
$result[] = $datos; unset($datos);
}

echo 
'<pre>';
print_r($result);



Resultado:

Array
(
   [0] => Array
       (
           [name] => crunch.png
           [size] => 1737
           [date] => 2009-02-06 18:48:08
       )
)


Saludos

DeXon18

Gracias #!drvy, no veas que dolor de cabeza me estaba dando eso.

Mil gracias de verdad!!