Ver Mensaje Individual
  #7 (permalink)  
Antiguo 08/03/2010, 12:33
c0w
 
Fecha de Ingreso: enero-2008
Mensajes: 146
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Buscador de archivos simple

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;
}

function 
buscarArchivos($file_folder,$buscar,$min_words){
$buscar strtolower($buscar);
$buscar_len strlen($buscar);
if(
$buscar_len<=$min_words){echo "La b&uacute;squeda debe tener m&aacute;s de <strong>$min_words</strong> car&aacute;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&uacute;squeda de <strong>$buscar</strong> no obtuvo ning&uacute;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:

Código PHP:
Ver original
  1. $path_parts=explode('.',$file_name);
  2. $file_part=substr($file_name,0,strlen($file)-strlen(end($path_parts))-1);
  3.  
  4. $path = explode('.',$file_name);
  5. $file_extension = end($path);

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..