Archivo
junio 27th, 2009 by admin
La función mostrada a continuación permite la creación de un marco a las imágenes que queramos. Podemos elegir el ancho del marco y el color. Ademas también podremos indicar el prefijo para la nueva imagen creada, ya con el marco.
La imagen que genera esta función es algo mas grande que la imagen original. Si queremos cambiar el tamaño de la imagen para que tenga el mismo que la original u otro tamaño podemos utilizar esta clase mencionada ya en mascodigo.
A continuación facilito el código fuente.
<?php /** * Ejemplo de uso */ crearMarco("img.jpg", 1, "48,192,255"); /** * Crear un marco para una imagen */ function crearMarco($rutaImagen, $anchoDelMarco, $colorRGBMarco, $prefijo = "marco_") { //Crear imagen $imagen = imagecreatefromjpeg($rutaImagen); //obtener ancho y alto de la imagen $ancho = imagesx($imagen); $alto = imagesy($imagen); //crear imagen que utilizaremos de marco $anchoNuevaImagen = $ancho + ($anchoDelMarco + $anchoDelMarco); $altoNuevaImagen = $alto + ($anchoDelMarco + $anchoDelMarco); $imagenMarco = imagecreatetruecolor($anchoNuevaImagen, $altoNuevaImagen); //poner color a la imagen $colores = explode(",", $colorRGBMarco); $color = imagecolorallocate($imagenMarco, $colores[0], $colores[1], $colores[2]); imagefill($imagenMarco, 0, 0, $color); //añadir marco a la imagen imagecopymerge($imagenMarco, $imagen, $anchoDelMarco, $anchoDelMarco, 0,0, $ancho, $alto, 90); //guardar imagen en fichero imagejpeg($imagenMarco, $prefijo . $rutaImagen); } ?>
junio 21st, 2009 by admin
Hace unos días, me encontré con la necesidad de enviar una serie de datos, a una página, utilizando el método POST.
Al principio pensé en realizar esto con la función “header” pero no lo conseguí. Entonces comencé a buscar en google y encontré algunos sitios que utilizaban “curl” para el envió de datos.
Los ejemplos que encontré con “curl”, parecían sencillos de implementar, el único problema es que hay que tener “curl” instalado en el servidor.
Seguí buscando en google y encontré otras páginas que explicaban como hacer esto con “fsockopen”.
Una vez utilice “fsockopen” para conectar a un servidor POP3 y obtuve buenos resultados, a si que, me decidí a intentar conseguir mi objetivo inicial utilizando esta función.
A continuación muestro el código de dos ficheros php. Un fichero llamado “enviarPOST.php” y otro llamado “variablesPOST.php”.
Como podréis imaginar por el nombre de los ficheros “enviarPOST.php” se encarga de enviar a “variablesPOST.php” los datos que este espera.
enviarPOST.php
<?php /** * CONFIGURACIÓN */ $carpeta = "/tmp/a/variablesPOST.php"; $host = "localhost"; $datos = "variable=correctoOK"; $size = strlen($datos); $c = fsockopen($host, "80"); if(!$c) { echo "Error!"; } //Enviar datos POST fputs($c, "POST " . $carpeta . " HTTP/1.0rn"); fputs($c, "Content-Type: application/x-www-form-urlencodedrn"); fputs($c, "Content-Length: " . $size . "rn"); fputs($c, "Connection: close rrnn"); fputs($c, $datos . "rn"); //Obtener datos while(!feof($c)) { $datoss .= fgets($c,4096); } echo $datoss; ?>
variablesPOST.php
<?php echo "La variable es: " . $_POST["variable"]; ?>
Etiquetas: fgets, fputs, fsockopen, post
junio 11th, 2009 by admin
Estos últimos días los he pasado programando con ajax. Normalmente no utilizo ajax en las web o aplicaciones web que desarrollo.
El motivo de no usarlo es que me produce un verdadero dolor de cabeza depurar el código para Internet Explorer.
En firefox sin en cambio, es un placer trabajar con ajax, puesto que con la conocida extensión firebug es muy fácil y como depurar el código.
Pero como es bien sabido por los programadores, cuando te enfrentas a un proyecto basado en la web, siempre debes intentar que tu programa o web, sea igual de funcional en la mayoría de navegadores.
Cuando digo mayoría, me refiero a firefox, IE, opera, safari y creo que ya esta.
Aunque a partir de ahora también habrá que pensar en google chrome.
Llegados a este punto, también hay que ser realistas, me arriesgaría a decir que la mayoría de programadores realizan solo pruebas de sus proyectos en firefox e IE.
Porque probar cada cambio en los 5 navegadores mas conocidos ralentizaría mucho el trabajo. Por supuesto es muy recomendable, cada cierto tiempo (no demasiado) hacer una prueba en todos los navegadores, para verificar que todo esta correcto.
Y si tenemos la mala fortuna de encontrar algo que no funciona en todos, sustituirlo por algo que si funcione.
Sin mas entretenimientos, vuelvo al principio, he estado trabajando con ajax y para poder trabajar con mayor rapidez, busque alguna herramienta como firebug pero en IE.
El resultado fue positivo, encontré varias alternativas, pero os enseño la que yo instale y utilice.
La herramienta es: Internet Explorer Developer Toolbar
Podéis descargarla desde aquí.
En el enlace anterior, explican que permite hacer esta herramienta y como se instala. También indican que esta es solo compatible con IE7.
Para IE8 existe otra herramienta similar. Y para el IE6 no conozco ninguna, aunque si alguien aún utiliza esta versión, debería plantearse ir actualizando ya.