Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros temas > La Taberna
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #8  
Antiguo 16-08-2006
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Poder: 22
D-MO Va por buen camino
Cita:
Empezado por roman
Muy, muy interesante Darwin
Orale, pues que bueno que te parezca interesante

Cita:
Empezado por roman
Platícanos cómo lo haces.
Pues me extraña compadre que para eso estamos en el foro ¿no?

La verdad es que no tiene mayor ciencia, es tan solo un script de php "disfrazado" para ocultar su "real identidad".

Lo único que hago es leer el html de la portada del foro y buscar entre el texto los datos requeridos. Estos datos se encuentran cerca de la línea 1900 y se vé un código como este:
Código:
<div class="smallfont">
            <div>

                Temas: 33.054,
                Mensajes: 149.776,
                Miembros: 11.783,
                    <span title="Within the Last 30 Days">Miembros activos: 1.745</span>
                
            </div>
            <div>Le damos la bienvenida a nuestro miembro más reciente, <a href="member.php?u=11792" target="_blank">Obana</a></div>
        </div>
Para tomar todo el html de la página uso la función file() de php de la siguiente manera:
Código PHP:
$file file('http://www.clubdelphi.com/foros/index.php'); 
Luego mediante un proceso un poco tardado analizo cada una de las líneas en busca de las "palabras mágicas", y utilizando expresiones regulares (Gracias por el tutorial roman) voy eliminando los datos que no necesito
Código PHP:
foreach($file as $f){
    if(
strstr($f,'Temas:')){
        
$temas preg_replace('%,.*\n%','',$f);
    }
    if(
strstr($f,'Mensajes:')){
        
$mensajes preg_replace('%,.*\n%','',$f);
    }
    if(
strstr($f,'Miembros:')){
        
$miembros preg_replace('%,.*\n%','',$f);
    }

Lo siguiente, tambien mediante expresiones regulares es eliminar el resto del texto innecesario en las variables para que conserven únicamente los valores numéricos (Se que con expresiones regulares mas avanzadas se pueden hacer de mejor pero aún no le he agarrado el hilo completamente ).
Código PHP:
$temas preg_replace('%^.*Temas: %','',$temas);
$mensajes preg_replace('%^.*Mensajes: %','',$mensajes);
$miembros preg_replace('%^.*Miembros: %','',$miembros); 
Ahora que ya tengo los datos que necesito, empieza el proceso de crear la imagen, para ello hago lo siguiente:
Código PHP:
header("Content-type: image/png");
$im = @imagecreate(15060);
$background_color imagecolorallocate($im255255,255 );
$text_color imagecolorallocate($im000); 
Seguido con la creación del borde de la imagen
Código PHP:
imagerectangle($im,0,0,149,59,$text_color); 
Agregar el texto:
Código PHP:
imagestring($im2155,   '   Temas: '.$temas$text_color);
imagestring($im21520,  'Mensajes: '.$mensajes$text_color);
imagestring($im21535,  'Miembros: '.$miembros$text_color); 
y por último la creación y liberación de memoria
Código PHP:
imagepng($im);
imagedestroy($im); 
Si tomas este código y lo guardas en un archivo llamado clubdelphi.php verás la imagen tal y como se vé en el post anterior, pero si miras la url de la imagen, el nombre que tiene es clubdelphi.png (a esto me refería con lo de disfrazada ). Para hacer esto, basta con agregar las siguientes líneas al .htaccess de apache:
Código:
<Files clubdelphi.png>
     ForceType application/x-httpd-php
</Files>
Y luego renombrar el archivo a "clubdelphi.png"

No sé si he olvidado algo, pero si es así, no duden en preguntar.

Saludos.

PD:
Se que el código se puede mejorar, pero como ya he dicho antes, soy novato en esto .
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Siguen los prob con DbGrid Alexita22 OOP 1 09-07-2006 04:09:24
¿Ya vienen los malos..? marcoszorrilla Noticias 0 18-03-2005 22:14:01
siguen los problemas con el campo auto incremento LOBO VELEZ Tablas planas 1 15-01-2005 20:39:29
Siguen Errores de CORBA con Windows ME zuriel_zrf Providers 0 11-08-2004 08:35:34
TIdPop3, ¿como ver mensajes leidos que siguen en el servidor? Adrix Internet 5 11-08-2003 23:51:09


La franja horaria es GMT +2. Ahora son las 22:32:23.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi