Foros del Web » Programando para Internet » PHP »

para manoloweb u otro

Estas en el tema de para manoloweb u otro en el foro de PHP en Foros del Web. Hola en la firma de manoloweb encontré una página [ clic ]en la cual está exactamente lo que quiero colocar en mi página web, ¿cómo ...
  #1 (permalink)  
Antiguo 06/08/2003, 20:00
Avatar de philipppe  
Fecha de Ingreso: marzo-2002
Ubicación: Uruguay
Mensajes: 706
Antigüedad: 22 años, 1 mes
Puntos: 0
para manoloweb u otro

Hola en la firma de manoloweb encontré una página [clic]en la cual está exactamente lo que quiero colocar en mi página web, ¿cómo se puede hacer?

Espero su ayuda, gracias.


__________________
Plugin de AdSense para Wordpress: http://adsensei.org

Última edición por philipppe; 06/08/2003 a las 20:02
  #2 (permalink)  
Antiguo 06/08/2003, 20:47
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 21 años, 8 meses
Puntos: 8
Hola! yo soy "u otro"...
Seguramente se hace con la libreria GD, u alguna libreria de esas.
Algo muy basico seria:
Código PHP:
<?php
$img 
imagecreate(35035); // Aqui creas la imagen con su tamaño en pixeles
$blanco imagecolorallocate($img255255255); // los colores RGB (rojo ,verde, azul)
$negro imagecolorallocate($img000);  // representa al negro
imagestring ($img355"Este es el texot de la imagen"$negro); // usa la funcion imegestring() para pegar el texto a la imagen a partir de las posiciones 5,5 y tamaño 3 (tos tamaños van de 1 a 5)
imagepng($img); // envia la imagen al navegador como un png (tambien se puede jpeg)
?>
Puedes tambien usar una imagen base para que todos esos banners tengan un formato comun utilizando imagecreatefromjpeg() en vez de imagecreate(350, 35);

Claro que te puede responder mejor Manolo, que seguro saca algun truquito de la galera

Saludos!

Última edición por fran86; 06/08/2003 a las 21:11
  #3 (permalink)  
Antiguo 06/08/2003, 20:49
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 21 años, 8 meses
Puntos: 8
Ups, me olvide lo mas importante:
http://www.php.net/gd
  #4 (permalink)  
Antiguo 06/08/2003, 20:59
Avatar de philipppe  
Fecha de Ingreso: marzo-2002
Ubicación: Uruguay
Mensajes: 706
Antigüedad: 22 años, 1 mes
Puntos: 0
Gracias, voy a ver que tal me va con eso de GD
__________________
Plugin de AdSense para Wordpress: http://adsensei.org
  #5 (permalink)  
Antiguo 06/08/2003, 21:11
Avatar de biblio  
Fecha de Ingreso: enero-2002
Ubicación: Urano
Mensajes: 577
Antigüedad: 22 años, 3 meses
Puntos: 0
Ya pues manolo, respondele a este mortal, te solicitan.




Saludos
  #6 (permalink)  
Antiguo 06/08/2003, 21:32
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 20 años, 11 meses
Puntos: 2
como mola este tema del GD, aun no lo habia probado, pero veo que es muy util e interesante....

un buen tema...

venga manolo, danos un susto
__________________
3w.valenciadjs.com
3w.laislatv.com
  #7 (permalink)  
Antiguo 06/08/2003, 21:53
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 2 meses
Puntos: 5
Bueno, pues aqui esta la lógica...

1.- Tengo una imagen base, que es la que uso para crear la imagen dinámica.

2.- Hice una tabla en la BD para manejar los "Tips"

3.- Me traigo los registros aleatoriamente para mostrarlos.

4.- Creo la imagen con los valores del query (mas la fecha)

*** En fin, aqui les paso el código completo ***

la primera parte crea los headers, la segunda establece los valores para conexion a la BD, la tercera es mi funcion para conectar, la cuarta es mi funcion para generar fechas, y la quinta es la que genera y muestra la imagen...

Puedes modificarla a tu antojo, o usarla tal cual.
__________________
Manoloweb
  #8 (permalink)  
Antiguo 06/08/2003, 21:55
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 2 meses
Puntos: 5
Código PHP:
<?
//PRIMERA PARTE
Header("Content-type: image/jpeg");
Header ("Last-Modified: " gmdate("D, d M Y H:i:s",mktime (0,0,0,1,1,2000)) . " GMT");
Header ("Expires: Mon, 26 Jul 2040 05:00:00 GMT");
Header ("Cache-Control: max-age=10000000, s-maxage=1000000, proxy-revalidate, must-revalidate");

//SEGUNDA PARTE
$varServidor="localhost";
$varBase="tu_base";
$varUser="tu_user";
$varPassword="password";

//TERCERA PARTE
function conectar()
    {
        
mysql_connect($GLOBALS["varServidor"],$GLOBALS["varUser"],$GLOBALS["varPassword"]);
        
mysql_select_db($GLOBALS["varBase"]);
    }

//CUARTA PARTE
function fechaesp($fecha=0,$tipofecha=1)
    {

                if (
$fecha==0){ $fecha=$GLOBALS["varHoy"]; }
                
$fecha=getdate(strtotime ($fecha));
                
$mes=$fecha["mon"];
                
$ano=$fecha["year"];
                
$dia=$fecha["wday"];
                
$diam=$fecha["mday"];
                
$dias[0]='Domingo';
                
$dias[1]='Lunes';
                
$dias[2]='Martes';
                
$dias[3]='Miercoles';
                
$dias[4]='Jueves';
                
$dias[5]='Viernes';
                
$dias[6]='Sábado';
                
$meses[1]='Enero';
                
$meses[2]='Febrero';
                
$meses[3]='Marzo';
                
$meses[4]='Abril';
                
$meses[5]='Mayo';
                
$meses[6]='Junio';
                
$meses[7]='Julio';
                
$meses[8]='Agosto';
                
$meses[9]='Septiembre';
                
$meses[10]='Octubre';
                
$meses[11]='Noviembre';
                
$meses[12]='Diciembre';
                if (
$tipofecha==1)
                {
                    
$fecha=$dias[$dia].' '.$diam.' de '.$meses[$mes].' de '.$ano;
                }
                else
                {
                    
$fecha=$meses[$mes].' '.$diam.'/'.$ano;
                }
        return 
$fecha;
    }

//QUINTA PARTE
conectar();
$qr=mysql_query("select * from manolotips order by rand() LIMIT 1");
$rs=mysql_fetch_array($qr);
$im imagecreatefromjpeg("base.jpg");
       
$negro ImageColorAllocate($im,0,0,0);
       
$rojo ImageColorAllocate($im,250,0,0);
      
imagestring ($im2359-(imagefontwidth(2)*strlen(fechaesp(0,2))), 3fechaesp(0,2), $rojo);
      
imagestring ($im2218$rs["tip"], $negro);
Imagejpeg($im,'',90);
ImageDestroy($im);

?>
__________________
Manoloweb
  #9 (permalink)  
Antiguo 06/08/2003, 22:01
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 2 meses
Puntos: 5
Y la tabla manolotips tiene una estructura muy sencilla...
Código:
CREATE TABLE `manolotips` (
  `ID` tinyint(3) unsigned NOT NULL auto_increment,
  `tip` varchar(59) default NULL,
  PRIMARY KEY  (`ID`)
) TYPE=MyISAM;
El largo de 59 en el campo "tip" es porque medí la cantidad de texto que cabe en mi imagen sin salirse...

Saludos!
__________________
Manoloweb
  #10 (permalink)  
Antiguo 07/08/2003, 09:20
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 2 meses
Puntos: 5
Por cierto, la parte de la fecha es solo un capricho mio, no se requiere para que el script funcione...

__________________
Manoloweb
  #11 (permalink)  
Antiguo 07/08/2003, 10:08
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 20 años, 11 meses
Puntos: 2
aaaaaaaalaaaa !!! que pasada... iiiiiiiiiihaaaaaaaa, , muy bueno manolo
__________________
3w.valenciadjs.com
3w.laislatv.com
  #12 (permalink)  
Antiguo 07/08/2003, 10:13
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 1 mes
Puntos: 1
Pues si muy buena idea...jeje

un Saludo
  #13 (permalink)  
Antiguo 07/08/2003, 20:42
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 2 meses
Puntos: 5
Gracias!

Pero como podrán ver, estos desgraciados randoms nada mas no funcionan como uno espera...

Tal vez sería bueno sacar un rand() de MySQL y otro de PHP y sacarles el floor del promedio... o algo así
__________________
Manoloweb
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:28.