Lo hice de otra forma pero ahora tengo otro problema :S
Código PHP:
<?php
function listarArchivos($c,$d){
global $file_folder;
$c=time() - filemtime($file_folder.'/'.$c);
$d=time() - filemtime($file_folder.'/'.$d);
if($c==$d) {
return 0;
}
return ($c < $d) ? -1 : 1;
}
function buscarArchivos($file_folder,$buscar,$min_words){
$buscar = strtolower($buscar);
$buscar_len = strlen($buscar);
if($buscar_len<=$min_words){echo "La búsqueda debe tener más de <strong>$min_words</strong> carácteres.";}else{
$dir = opendir($file_folder);
while ($file_name = readdir ($dir)) {
$fs[]=$file_name;
$resultados=0;
}
usort($fs,"listarArchivos");
foreach($fs as $file_name){
if ($file_name != "." && $file_name != "..") {
$count=$count++;
if($file_name == ''){
$file_part = '';
$file_extension = '';
$file_size_round = '';
}
else{
$file = "$file_folder/$file_name";
$path_parts=explode('.',$file_name);
$file_part=substr($file_name,0,strlen($file)-strlen(end($path_parts))-1);
$path = explode('.',$file_name);
$file_extension = end($path);
$file_name_minus = strtolower($file_name);
$file_name_mayus = strtoupper($file_name);
$file_size = @filesize($file);
$file_size_mb = $file_size/1000000;
$file_size_kb = $file_size/1000;
$file_size_round = @round("$file_size_mb").' MB';
if($file_size_round=='0 MB'){$file_size_round=@round("$file_size_kb").' KB';}
if($file_size_round=='0 KB'){$file_size_round=@round("$file_size").' Bytes';}
$file_mdate = @date("j/n/Y", @filemtime($file));
$file_cdate = @date("j/n/Y", @filectime($file));
}
$pos = strpos($file_name_minus, $buscar);
if ($pos === false) {;} else {
$resultados=++$resultados;
echo "<strong>$file_part</strong> | $file_size_round<br>";
}
}
}
if($resultados==0){echo "La búsqueda de <strong>$buscar</strong> no obtuvo ningún resultado.";}
closedir ($dir);
}
}
$file_folder = 'archivos';
buscarArchivos($file_folder,$_GET['buscar'],'2')
?>
- Problema 1: No se pueden unir las funciones "listarArchivos" y "buscarArchivos" asi no tengo que poner la variable $file_folder antes de mostrar la funcion?
- Problema 2: Si tengo un archivo con "." en la carpeta "archivos" tengo que usar estos codigos para sacar la extension y la parte inicial del archivo:
PERO ME DA CUALQIER RESULTADO :S EL ARCHIVO CON "." ME DA BIEN LA PRIMERA PARTE PERO NO LA EXTENSION, Y LOS DEMAS ARCHIVOS NI LES SACA EXTENSION NI PRIMERA PARTE DEL NOMBRE.
ME VOY A VOLVER LOCO CON ESTE SCRIPT! :P
Muchas gracias por su atencion..