• Publicidad

No me funciona el Buscador del tutorial...

Todo lo relacionado con el desarrollo Web con Perl: desde CGI hasta Mojolicious

Notapor kidd » 2005-09-30 21:40 @945

Hola:

Lo que se me ocurre es que tengas una problema en la ruta y no encuentre ningún archivo. Intenta con palabras que sepa existen dentro del algún archivo e intenta de nuevo.


SALUDOS
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Publicidad

Notapor kidd » 2005-10-03 08:22 @390

Hola:

Se me ocurre la solución, cambia la parte que dice:

Código: Seleccionar todo
return unless($_ =~ /\.html/i);


por

Código: Seleccionar todo
return unless($_ =~ /\.htm(l)?/i);


Lo que suecede es que en la manera en la que está ahorita, solamente busca archivos .html, con este cambio va a buscar tanto archivos .html como los que son .htm.


SALUDOS
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor kidd » 2005-10-03 12:18 @554

Hola:

Ya ví cual es el problema. Corregí el código, y así es como queda:

Código: Seleccionar todo
#!perl -w

use strict;
use File::Find;
use CGI qw(:standard);
my $query = param("query");


#VARS DE CONFIGURACIÓN

#LUGAR DONDE QUIERES BUSCAR. NO USES EL / FINAL
my $root_dir = '/home/user/public_html';

#URL DEL DIRECTORIO QUE VAS A BUSCAR. SIN EL / FINAL
my $url_dir = 'http://misitio.com';


print header();
print start_html();
print "\n<p>Para la búsqueda $query, estos resultados se encontraron:</p>\n<ol>\n";

undef $/;

find( sub {
        return if($_ =~ /^\./);
        return unless($_ =~ /\.htm(l)?/i);
        stat $File::Find::name;
        return if -d;
        return unless -r;

           open(FILE, "< $File::Find::name") or return;
             my $string = <FILE>;
           close (FILE);

             return unless ($string =~ /\Q$query\E/i);
               my $page_title = $_;

                if ($string =~ /<title>(.*?)<\/title>/is){
                    $page_title = $1;
                }

               my $int_dir = $File::Find::dir;
                  $int_dir =~ s/$root_dir//i;
               my $url = $url_dir . $int_dir . "/" . $_;

         print "<li><a href=\"$url\">$page_title</a></li>\n";
      }, $root_dir);

print "</ol>\n";

print end_html();


exit(1);



Lo que tienes que cambiar son las dos variables de configuración.

$root_dir - Aquí debes de poner la ruta al directorio que quieres buscar. Debes de checar que no pongas el / final.

$url_dir - El URL al directorio que vas a buscar. De igual manera no debes de poner el / final.



SALUDOS
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor kidd » 2005-10-03 12:43 @571

En base al problema expuesto aquí, he actualizado el tutorial con las correcciones necesarias:

http://perlenespanol.com/archives-tut/000138.html


SALUDOS
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Re: No BUSCA NADA :(

Notapor kidd » 2005-11-27 20:48 @908

Juniors escribiste:amigos tengo un problema el buscador no busca nada no se que pasa pero lo hize todo y sale estos son la busdas y nada mas mi URL es http://www.ashton.yuukis.com ayudaneme ps lo necesito sy gracias por el Scripts


Intente probarlo pero parece que el CGI no existe, estás seguro es que la ruta correcta?

También checa que hayas hecho el upload del archivo como tipo ASCII y que los permisos estén en 755.


SALUDOS
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Re: ya pude pero...

Notapor kidd » 2005-12-22 14:22 @640

Pepe escribiste:Hola:

Ya pude hacerlo funcionar, ahora tengo dos dudas:

1.- Cómo cambio el formato del texto, digamos que ponerle tamaño y fuente.

2.- Cómo hago para que los resultados los muestre en una ventana nueva o en algún otro frame


Para cambiar el formato todo lo que tienes que hacer es poner un CSS y en el puedes cambiar el estilo de los list items li, por ejemplo:

Código: Seleccionar todo
LI{
color:blue;
font-size:9pt;
}


Para lo otro busca la línea que dice:

Código: Seleccionar todo
print "<li><a href="$url">$page_title</a></li>\n";


Y cambiala por:

Código: Seleccionar todo
print "<li><a href="$url" target="_blank">$page_title</a></li>\n";



SALUDOS
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor kidd » 2005-12-22 18:12 @800

¿Quiéres que el CGI ejecute en una nueva página o qué los links abran en una nueva página?


SALUDOS
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Re: No me funciona el Buscador del tutorial...

Notapor explorer » 2005-12-28 06:00 @292

1.- Falta el tag '<form>'.
2.- Para que el resultado salga en otro frame, usa el atributo 'target' dentro del '<form>'.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Web

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron