![]() |
Tema: Seguridad - URL´s Pregunta: Como compruebo si una url existe o no Respuesta: Utilizando la siguiente funcion Código PHP: Código PHP: Espero les sirva Saludos :arriba: |
Como conocer el tamaño en bytes de una Base de Datos MySQL La consulta: SHOW TABLE STATUS Te muestra información sobre las tablas de una base de datos. Entre los campos que te muestra, hay uno que es 'Data_length', bueno, pues eso es lo que ocupan los datos de cada tabla. Lo que ocurre es que además de los datos, también puede representar bastante espacio lo asignado para cada índice. Y esto lo indica en el campo 'Index_length' Para obtener el valor total de la base de datos, se me ocurre emplear, por ejemplo, PHP para recuperar todos los valores y sumarlos posteriormente. Sería algo como: Código PHP: Si queremos mostrar ese valor en KB, es muy sencillo... Código PHP: |
¿como exportar mi base de datos a un archivo 'archivo.sql'? Créditos: Cluster Tema: Bases de datos Pregunta: ¿Como exportar mi base de datos en MySQL a un archivo fichero.sql? Respuesta: Para guardar una base de datos, sin ningún gestor como podría ser phpMyAdmin. Se podría usar el siguiente código. Tal cual está .. envia a descargar el "dump" (volcado de datos y estructura) de la Base de datos seleccinada, incluido todas sus tablas. Código PHP: Código PHP: Código PHP: Si se desea que el archivo generenado ($fichero.sql) lo queremos dejar en el propio servidor (por ejemplo para hacer backups de esa BD Mysql automaticos lanzados por algun script nuestro ...) usar (en lugar de la anterior $executa): (notese el > $fichero ) Código PHP: |
Tema: Numeros Pregunta: ¿Como convierto un número a una cadena de texto que lo represente (p.e.- 2,115 = Dos mil ciento quince)? Respuesta: Utiliza el siguiente código (instrucciones para usarlo al final del post) 1.- Guarda esta función en un archivo, por ejemplo numeros.inc Código PHP: Para llamarlo, solo incluye el archivo y llama a la función con el numero que quieres convertir. Puede venir en formato numerico (12345.67) o como cadena ("$ 4,127.87") Código PHP: Saludos! :adios: |
Pregunta: ¿Como puedo mejorar el editor Maguma Studio usando PHP? Requisitos: conexion a internet, php local. Respuesta: utilizando quickref.txt de cvs.php.net y parseando el manual de php version html. Ulilizando PHP con sus funciones para expresiones regulares es posible mejorar el editor para PHP Maguma Studio, de manera que:[list=1][*]El highlight (coloreado de texto) reconozca todas las funciones de PHP.[*]Que la ayuda contextual con los parametros para las funciones, y las "Funciones Nativas de PHP" (ToolBox>Class Browser) aparezcan en español! (la mayoria :-PP)[/list=1] Para realizar el punto 1 debemos tener en cuenta que Maguma utiliza un archivo llamando php-funcs.dat (por defecto se encuentra en C:\Archivos de programa\Maguma Studio\Data\php-funcs.dat) para almacenar todas la funciones que serán coloreadas; entonces lo que haremos es "actualizar" este fichero con uno nuestro mas completo siguiendo estos pasos:[list=a][*] Guargar en nuestro disco el archivo http://cvs.php.net/cvs.php/phpdoc/quickref.txt?login=2 , que es la lista oficial de las funciones php con su descripcion.[*] Utilizar el siguiente código para crear un nuevo php-funcs.dat Código PHP: Para realizar el punto 2 Maguma utiliza otro archivo llamado php-insight.dat (por defecto se encuentra en C:\Archivos de programa\Maguma Studio\Data\php-insight.dat) y en este caso lo actualizaremos a partir del manual oficial de PHP version single HTML en español. Para ello:[list=a][*] Bajar el manual de http://www.php.net/distributions/ma...ual_es.html.bz2 (esta comprimido con bz2 y si no sabes como abrirlo debes leer esto http://www.php.net/manual/en/faq.misc.php#faq.misc.bz2)[*] Aplicarle este codigo que parseará el HTML usando expresiones regulares y devolverá un nuevo php-insight.dat: Código PHP: Explicaciones para las expresiones regulares utilizadas:
Una version actualizada del php-funcs.dat se puede bajar de: http://www.forosdelweb.com/attachment.php?postid=358063 Una version actualizada del php-insight.dat se puede bajar de: http://www.forosdelweb.com/attachment.php?postid=373755 Saludos! |
Pregunta: Como generar una versión imprimible de una página html en PHP? Requisitos: php4 o sup Respuesta: aquí esta, esta en ingles pero es muy simple de entender, solo crea un archivo phpprint.php y pon el código adentro, lee las instrucciones y modifica lo que hay que modificar en tu página y listo :arriba: Código PHP: |
Tema: Formato de texto Pregunta: ¿Como puedo pasar un texto a mayúsculas/minúsculas? Respuesta: En el manual nos dirá que usemos strtoupper()/strtolower(): Código PHP: Código PHP: Usando strtr() Código PHP: Código PHP: |
Tema: Formularios Pregunta: ¿Como paso valores entre varios formularios? Respuesta: Notas importantes: Usar array Super globales y el atributo method de la etiqueta form debe ser "post" aunque si cambiamos $_GET y el atributo "get" en la etiqueta form tabien debe funcionar. Veamos un ejemplo: Formulario1: Código PHP: 2do formulario: Código PHP: Con lo anterior se iran creando campos hidden con todos los valores pasados del formulario 1 al 2. Y por ultimo en la ultima envio podemos recoger todos los valores con un simple $_POST["nombreCampo"] Bueno es algo sencillo pero util, acabo de hacer esto para un portal y funciona muy bien Saludos |
Convertir el formato de las fechas en campos DATE en dia/mes/año Tema: Bases de datos Pregunta: ¿Como convertir el formato de las fechas en campos DATE a dia-mes-año? Tenemos una tabla X, esa tabla contiene un campo DATE. Ese campo almacena una fecha mediante la función CURDATE. Esa función trabaja con el formato: año-mes-dia. ¿Cómo convierto el formato a: dia-mes-año cuando hago el echo()? Respuesta: Sencillo. Simplemente hacemos un explode de la fecha y la dividimos justo por los guiones. De esa forma almacenamos cada una de las partes de la fecha en un array: $var = explode('-',$variabledefecha); Donde $variabledefecha corresponde a tu variable que contiene la fecha que queremos cambiar. Y luego, volvemos a unir el array en el orden dia-mes-año asi: echo "$var[2]-$var[1]-$var[0]"; Y listo. El código completo queda asi: $var = explode('-',$variabledefecha); echo "$var[2]-$var[1]-$var[0]"; Otra forma sería usando una función propia de MySQL. Deberás crear un alias a tu campo y luego llamarlo por su alias. De esta forma: $ssql = "SELECT DATE_FORMAT(campofecha,'%d/%m/%Y') as fechaok FROM tabla"; $result = mysql_query($ssql); Donde fechaok es el alias de tu campofecha. Cuando vayas a hacer el echo() debes hacerlo por el alias ya formateada: echo $row['fechaok']; |
Insertar fecha actual en una tabla Tema: Bases de datos Pregunta: ¿Cómo inserto la fecha actual en uno de mis campos de mi BD? Respuesta: Sencillo. Solo debes usar la función now(). Te quedaría asi: $ssql = "INSERT INTO tabla (campo) VALUES (now())"; $rs = mysql_query($ssql); :adios: |
Como registro la Direccion IP, de las Pcs que ingresan a mi sitio Web.... Utilizamos la variable $REMOTE_ADDR en nuestro scripts, la cual recupera la Direccion IP de la computadora que esta ingresando a nuestro sitio Web y luego hacemos con ella lo que se nos venga en gana, podemos grabarla en un registro de nuestra base de datos para llevar un control de quienes y de donde nos visitan o como una forma de llevar auditoria en el acceso a una base de datos. |
Esta podría haber estado al principio... ¿Como saber cuando algo es javascript y cuando es PHP? Javascript trabaja en el lado del cliente, es decir, en el navegador del visitante a la página. Por lo tanto, todas las acciones que afecten la forma en que el navegador muestra la información, sucede gracias a javascript (o similares). Igualmente con aquellas acciones que van cambiando el contenido de la pagina SIN QUE ESTA SEA RECARGADA. Algunos ejemplos: -Full Screen, o ventanas sin menus -Relojes que muestran la hora de tu PC -Menues que van cambiando de acuerdo a cierta seleccion, sin que la pagina sea recargada -Roll-Overs (imagenes que cambian al pasar encima) -Mensajes de alerta -Cuadros de pregunta (aceptar/cancelar) -Pop-ups (Abrir otras ventanas de explorador) -Interactuar con dispositivos (imprimir, etc) -Etc... Saludos! |
Ordenar un array BIDIMENSIONAL por uno o varios campos (columnas). Con esta función se puede ordenar un array BIDIMENSIONAL por uno o varios campos (columnas), tanto ascendentemente como descendentemente. La forma de llamarla es: Código PHP: Código PHP: Así pues este caso, habría 4 posibles columnas por las que ordenar. asc_desc puede valer o bien: SORT_ASC o bien SORT_DESC ¡SIN COMILLAS! pues son valores constantes. La función devolverá FALSE en caso de que los parámetros no sean correctos. En caso contrario, obtendremos el array de entrada ordenadito, por tantos campos le hayamos indicado. Código PHP: |
Tenía que resolver una necesidad que supongo que tienen muchas otras personas. Es, que los usuarios teclean texto que puede contener URLs, y estas URLs deben ser convertidas a enlaces. Otras condiciones eran que: -La URL introducida podía después tener un intro, un tabulador, un espacio, o un paréntesis. -Si la URL introducida pertenecía a un dominio externo al de la web en cuestión, éste debía abrirse en una nueva ventana, y si era una URL interna debía abrirse en la ventana actual. Lo he resuelto así: Código PHP: < ) -- ahí no hay un espacio, esos dos caracteres van seguidos. \1 -- Todos los unos (1) van precedidos de doble barra invertida, aunque solo se muestra una. Un saludo, |
Tema: Seguridad Créditos: Shaun Clowes (traducción Di Biase Jos‚ Luis). Aportado por mveraa Artículo sobre seguridad bajo PHP. Trata los siguientes temas: 1. Introducción 2. Caveats y Alcance 3. Variables Globales 4. Archivos Remotos 5. Upload de Archivo 6. Librer¡as 7. Sesiones 8. Array asociativos y otros 9. Funciones que hay que utilizar con cuidado 10. Protegiendose 11. Responsabilidad - Lenaguaje vs Programador 12. Otros Formato .doc (MS Word) comprimido a .zip |
¿Cómo hacer un extractor de e-mails? Pues muy fácil... En un textbox metemos la cadena de texto que queremos procesar y el script automáticamente extrae cualquier e-mail encontrado. Muy últil !!! Código PHP: |
Tema: Algoritmos/utilidades Pregunta: ¿Cómo generar passwords aleatórios numéricos o alfanuméricos de longitud variable? Respuesta: Usando expresiones regulares y time() se pueden obtener dichos passwords aleatorios de una forma muy curiosa (por lo menos para mí xD). En el código se detalla como usa la función: Código PHP: pd: La forma de usar las expresiones regulares no la implementé yo .. Tan sólo lo adapté para funcionar como "función". No recuerdo de donde la saqué. pd2: Mejora al la generación del código aleatório, por problemas si se ejecutaba dicha función en bucles bajo una ejecución de un mismo script. Se comentó el tema en este mensaje: http://www.forosdelweb.com/f18/generar-muchos-passwords-244253/ . Gracias a Jpinedo. |
Pregunta: ¿Como usar la funcion header() en cualquier parte de nuestro código incluso después de un echo? Respuesta: Pon antes de enviar ningín caracter ( donde pondrias un header() o una cookie ) el siguiente codigo: Código PHP: Código PHP: |
Pregunta: ¿Como puedo crear una interfase (o librería) de mi página en solo un archivo PHP? Fuente: http://www.webestilo.com/php/php05b.phtml Respuesta: Las funciones que tiene PHP, sirven para poner mas énfasis en lo que es la interacción de archivos, pero en realidad se puede jugar con ello de una manera sencilla. Para usar una interfase estática, donde todo se pueda modificar mediante un archivo, es sencillo. Un ejemplo sencillo es este: Crea un archivo llamado interfase.php y pon lo siguiente: Código PHP: Código PHP: Ademas, se puede poner tanto HTML como PHP, tales como conexiones a base de datos, ciclos, mas funciones, etc. |
Pregunta: ¿Como puedo poner el peso de la pagina? Respuesta: Pon el siguiente código al principio de tu web. Código PHP: Código PHP: |
Tema: miscelaneo. PreGunta: Como puedo medir el tiempo de ejecucion de mi script?. Respuesta: Puedes usar esta class! :-D introduccion: El otro dia queria medir cuanto se demoraba en cargar una pagina que estaba haciendo en PHP y luego de investigar un poco decidi que lo mejor seria hacer un par de funciones para calcular esto. Pero como las Classes estan de moda, mejor lo hice en forma de clase y salio pretty. Asi que aqui se los dejo, seguro que les servira para ponerlo en alguna pagina por ahi. Código PHP: en algun archivo independiente (para que lo uses como include cuando lo necesites) yo lo hago de esta manera: Código PHP: EOF |
Tema: Reconocer el idioma del visitante Pregunta: Como puedo configurar mi pagina para diferentes idiomas Respuesta: Con HTTP_ACCEPT_LANGUAGE Código PHP: ahora el archivo que contiene las palabras con sus traducciones lang-esp.php Código PHP: y para poner la palabra que definimos anteriormente Código PHP: echo "hola esta un una prueba para mostrar registrado en tu idioma "._REGISTER." bla bla"; un listado de palabras listas para copiar pegar en sus archivos las pueden sacar de las aplicaciones prefabricadas ( quien decia que no servian para nada xD xD) como por ejemplo postnuke ya que ocupa la misma forma para el archivo de lenguage salu2 :adios: |
Thumbnails Tema: Imagenes Pregunta: Como creo thumbnails de mis imagenes? Respuesta Con las funciones de imagen de la libreria GD en esta simple funcion Código PHP: Sencillo, le pasas a la funcion el nombre del archivo y el directorio en que quieres que queden creadas las thumbnails. En forma de opcion esta que le pases el alto y ancho que por defecto es 100 de ancho y de alto. Tambien si tu libreria GD soporta gifs le pasas true a la opcion de gif. Código PHP: Ejemplo de uso Código PHP: Saludos |
Prev and Next Pregunta: Cómo puedo crear un sistema prev and next con manejo de errores. Respuesta: La clave se encuentra en un comando de sql. Creador: Abdel Rahman. Script: Código PHP: Cotenido del archivo email.php Código PHP: Cotenido del archivo usuario.php Código PHP: Nota: Este script tiene manejo de errores y presenta los resultados y los números de las páginas, si pueden realizarle mejoras por favor ponerlo nuevamente en este foro. |
Pregunta ¿Puedo combinar HTML con PHP, y con ello diseñarlo con Dreamweaver? Respiesta SI, y que no te engañen. Por ejemplo: Si queremos desplegar un simple número, no necesitamos hacer una instrucción de puro PHP para desplegar algo que se puede hacer con una mejor combinación: Código PHP: Código PHP: Ahh claro, y tambien se aplica en enlaces con variables GET: Código PHP: |
Tema Fechas Pregunta ¿Como veo la la fecha y hora del servidor? Respuesta Con este sencillo script Código PHP: |
Generar passwords de calidad P: ¿Como genero un password? Para generar un password aleatorio de forma rápida podemos usar las funciones md5() junto con rand() tal como sigue. Código PHP: Primero habría que definir el concepto 'fàcil de memorizar', yo entiendo por facil ajikomufi y no jkimlhidt. Este sencillo escript genera un a cadena de caracteres formados por vocal consonante vocal o consonante vocal consonante, de este modo el password es leible y como consecuencia, fácil de memorizar. Ahí va la función, la cual debería estar al inicio de todo de vuestra página junto con las demás funciones definidas. Código PHP: Código PHP: Código PHP: Suerte! |
Pregunta: ¿Como calculo el tiemp que tarda una pagina en generarse? Respuesta: Copiando este ejemplo y haciendo algunas pruevas. Código PHP: |
Pregunta: Generar la misma Cookie en www.dominio.com / dominio.com / sub.dominio.com... Pues (como dicen todos) fácil!! Al crear la cookie definimos el nombre del domino al que pertenece sin las "www" ni semejantes: Código PHP: |
Tema: E-mails Pregunta: ¿Cómo hacer que el "mensaje" de un e-mail se encuentre en un archivo .php? Respuesta: A mi me costó mucho hacerlo, pero gracias a Cluster, josemi y epplestun todo se hace asi : Nuestro problema consistía en meter la variable "$mensaje" de la función mail() en un archivo llamado "mensaje.php" y lograr que PHP interpretara el código que dicho archivo llevaba internamente: Código PHP: Código PHP: Código PHP: NOTA: $row es el array que usas para llamar los campos de tu BD, pej: $row[usuario], $row[contrasena], $row[email], etc. |
Tema: Imágenes Pregunta: ¿Cómo hacer un catálogo de imágenes automáticamente? Respuesta: Sencillo, solo debes almacenar las imagenes de la carpeta en un array y luego paginarlos, todo queda asi: Primero, activamos el objeto dir() y saltamos los dos primeros elementos simbólicos "." y "..". Código PHP: Código PHP: Código PHP: Código PHP: Código PHP: Código PHP: Código PHP: |
Tema: Imagenes Pregunta: Como rotar una imagen una vez al dia? Agradecimientos a: Nuevo Respuesta: aqui esta la rotación diaria o mensual, es cuestión de adaptarlo y puede hacer cualquier otra cosa Código PHP: |
Tema: Salto de linea. Pregunta: Como forzar un salto de linea cuando no hay \n o bien formatear un texto con una cantidad de caracteres predefinidos Respuesta: A veces nos encontramos que en n textarea nos ponen muchos caracteres seguidos o bien muchos saltos de linea, o quizas queremos sacar el texto de un archivo con lineas muy largas y la funcion nl2br() no nos va del todo bien. Pues con esta " funcionciolla" evitamos estos problemas Código PHP: |
Tema: Fecha en español PARA PONER LA FECHA EN ESPAÑOL IGUAL QUE CON DATE() Pues yo aqui les comparto una funcion que hice para usar la función date(); con formato en español... Se usa IGUALITO que date, solo que con la ventaja de que el input puede ser en formato de fecha de MySQL (20031016) o un time (mktime) o nada (), y el formato sigue las mismas reglas que la función date(); Código PHP: |
Comodidad... Tema: Condicionales Pregunta: ¿Como combino html y php en un condicional? Respuesta: Existe un pequeño truco para poder usar html dentro de un condicional. Ejemplo: Código PHP: si crees que sabes poco no me conoces... |
Tema: Formularios Pregunta: Como gestionar acciones a los registros seleccionados con checbox (estilo web-mails tipo Hotmail). Respuesta: La técnica se basa en crear arrays (arreglos, matrices ..) desde el nombre de los checkbox que vamos a usar. De esta forma, agrupamos conjuntos de checkbox relacionados, quedando de esta forma para PHP un array con el nombre que definamos en el tag name= del objeto de formulario <input type="checkbox" ...> Para ello, se usa como nombre del checbox: name="nombre_checbox[]" El [] indica que estamos creando un array de indice automático y que comienza por 0. A cada llamada de ese <input> de checbox se gerará un nuevo indice. A su vez, en el <input> de checbox, definimos un value= de valor igual al valor que queremos que tome cuando esté seleccionado. A todo esto, debemos englobarlo todo en un tag de furmulario común, quedando algo así: formulario.html Código PHP: script.php Código PHP: Una utilidad práctica a esta forma de trabajar con checkbox y arrays sería la de realizar un sencillo script donde podamos seleccionar vários registros de una tabla que deseamos realizar una acción sobre ellos; por ejemplo, borrarlos. formulario.php Código PHP: Mysql (para el ejemplo) dispone del comando SQL "IN(lista de valores separados por comas)" para aplicar condicionales tipo ... WHERE IN (1,3,25,53,8). Usamos implode() para conctenar los elementos del array con el separador coma (,) procesar.php Código PHP: Si deseamos o tenemos que realizar un proceso intermédio entre la lectura de cada uno de estos valores de forma individual, sólo tenemos que usar el bucle foerach() por ejemplo como se citó en el primer ejemplo. Un saludo, PD: 03/11/2003. Código corregido en la generación de $lista (había un par de parentesis de más). Gracias jpinedo por reportar el error. PD: 18/03/2004. Código corregido en formulario.php (faltó un echo y unas comillas al transcribir la FAQ al mensaje del foro). Gracias Gerald por reportar el error. |
Multiples idiomas basados en XML Tema: Multiples idiomas Pregunta: Como puedo hacer una aplicación en varios idiomas y con un solo código?¿ Respuesta La solucion es bastante sencilla, para ello haremos uso de archivos XML. Nuestro arhcivo puede tener la siguiente forma: english.xml Código PHP: Lo que tenemos que hacer es generar un array a partir de la estructura del XML, para ello haremos uso de la funcion xml_parse_into_struct(), esta funcion nos genera el array y lo trabajaremos de la siguiente manera: language.php Código PHP: Espero que sea de ayuda, ami me lo a sido de muchísima ya que para la el soporte multiidioma del PHP-EDDI-DEV se basa en ello :D Saludillos!!! |
Hacer un campo desplegable dinámico Para hacer un combobox que coja los valores de tu base de datos, sólo escribe esto: Código PHP: Código PHP: |
Tema: Imágenes, Banners, Números aleatorios. Pregunta: ¿Cómo mostrar un banner o imagen cualquiera (con su link y "alt") tomado de una lista aleatoriamente? Respuesta: De una interesante dicusión en este post , surgió el script que coloco a continuación. Gracias a Cluster, a josemi y a todos los que participamos. ************************************** Código PHP: Código PHP: http://www.php.net/manual/es/function.array-rand.php Y este otro al post donde se dicutió algo al respecto. http://www.forosdelweb.com/s/msg136573.html Saludos:adios: "Alt" agregado por sugerencia de elanime. |
Como Mostrar los últimos mensajes Sólo se debe ubicar el código en la parte de tu sitio donde quieras mostrar los títulos de los mensajes: <? // phpBB :: MOSTRAR ULTIMOS 10 MENSAJES // :: WebExperto.com :: $con=mysql_connect("servidor", usuario, password); mysql_select_db("nombre_base_de_datos",$con); // Cantidad de post a mostrar y prefijo de las tablas $ultimos = 10; $prefijo = "phpbb_"; // Consultas a la base $result_mensaje=mysql_query("select * from $prefijo"."topics order by topic_id desc limit $ultimos",$con); while($mostrar_m = mysql_fetch_array($result_mensaje)) { $topic=$mostrar_m["topic_id"]; $forum_id=$mostrar_m["forum_id"]; $result_foro=mysql_query("select * from $prefijo"."forums where forum_id like $forum_id",$con); $mostrar_f=mysql_fetch_array($result_foro); $forum_name = $mostrar_f["forum_name"]; mysql_free_result($result_foro); ?> <font face="verdana" size="1">» <a href="http://www.tusitio.com/foro/viewtopic.php?t=<?=$topic;?>" target="_blank"><? echo $mostrar_m["topic_title"]; ?></a><br> en <i><b><?=$forum_name;?></b></i></font><br> <? } // Cerramos conexión mysql_free_result($result_mensaje); mysql_close($con); ?> El resultado se mostrará de la siguiente forma, pero puedes acomodarlo fácilmente a tu gusto modificando el código de arriba. » Simular Windows 98 con XP en Informática en General » Flash 5 y Generator en Informática en General » mostrar un mensaje al visitante en ASP | ASP.net » ¡¡¡¡¡AYUDA URGENTE!!!! bases de datos deductivas en Bases de Datos » Intercambio de links en Marketing y Promoción » tarjeta gráfica, ayuda!!!! en Informática en General » Extremadamente urgente... en Informática en General » Digitalizate en Críticas y comentarios » Password generado por el usuario en PHP » Passwords elegidos por el usuario en ASP | ASP.net Si resulta necesario, podemos limitar la cantidad de caracteres para el título del mensaje, lo cual es muy útil en caso de que el título sea muy largo y descompagine la estética visual del sitio. ' En este caso, limitamos a que se muestren los primeros 25 caracteres del título $titulo=substr($mostrar_m["topic_title"],0,25); ' Y luego en lugar de $mostrar_m["topic_title"] imprimimos $titulo |
Como Rotar banners con estadísticas En esta ocasión voy a demostrarles cómo armar un rotador de banners con estadísticas de clicks e impresiones. Para poder hacer un buen rotador de banners con sus estadísticas correspondientes, vamos a hacer una tabla en una base de datos MySQL. ban_id es índice y se auto incrementa con cada nuevo registro añadido, contiene la id de cada banner. ban_url es donde almacenaremos las direcciones de los sitios. ban_img es donde almacenaremos las direcciones de los banners. ban_click es donde pondremos la cantidad de clicks de cada banner. ban_impre es donde pondremos la cantidad de impresiones de cada banner. Comencemos con lo más fácil, el rotador. Para el rotador usaremos el siguiente código: banner.php <? if(@mysql_connect($serv,$user,$pass)) { mysql_select_db($dbase); } else { echo "Hubo un error, disculpa las molestias"; exit(); } $qbaney = mysql_query("SELECT * FROM tabla"); mt_srand(time()); $max = mysql_num_rows($qbaney); $rand = mt_rand(1,$max); $sqldo = mysql_query("SELECT * FROM tabla WHERE ban_id='$rand'"); while($ban = mysql_fetch_assoc($sqldo)) { echo "<a href='click.php?id=".$ban['ban_id']."' target=_blank>”. “<img src='".$ban['ban_img']."' width=468 height=60 border=0></a>"; } mysql_query("UPDATE $table15 SET ban_impre=ban_impre+1 WHERE ban_id='$rand'"); ?> Vamos a traducir el código línea por línea: 1. Si se puede establecer una conexión al motor MySQL... 2. Se selecciona una base de datos. 3. De lo contrario... 4. Se imprime “Hubo un error, disculpa las molestias”. 5. Se sale del programa. 6. Se cierra el IF. 7. Se selecciona todo de la tabla. 8. Se crea la semilla del rotador (mejorado). 9. Se cuentan todos los banners y se los guarda en $max. 10. Se genera un número aleatorio entre 1 y el máximo ($max). 11. Se selecciona un banner de la tabla donde el campo ban_id sea igual al número aleatorio. 12. Mientras $ban sea un array asociativo... 13. Imprimir en la pantalla un link a click.php?id= id elegido en la tabla. 14. La imagen desde la dirección almacenada en la tabla, cerramos link. 15. Cerramos el while. 16. Actualizamos la tabla con una impresión más de la que ya había. Ese fue el rotador de banners con contador de impresiones. Ahora nos falta el contador de clicks y redireccionador al sitio donde pertenece el banner. Para eso, guardamos el siguiente archivo: click.php <? if(@mysql_connect($serv,$user,$pass)) { mysql_select_db($dbase); } else { echo "Hubo un error, disculpa las molestias"; exit(); } mysql_query("UPDATE tabla SET ban_click=ban_click+1 WHERE ban_id='{$_GET['id']}'"); $showurl = mysql_query("SELECT * FROM tabla WHERE ban_id='{$_GET['id']}'"); while($rowed = mysql_fetch_assoc($showurl)) { header("Location: ".$rowed['ban_url']); } ?> Comenzaremos a leer desde la línea siete, ya que las seis primeras son iguales a las del archivo anterior. 7. Se actualiza la cantidad de clicks en el banner contenido en $_GET[‘id’]. 8. Se muestra la información como un array asociativo. 9. La página es redireccionada al sitio del banner. Para ver sus estadísticas pueden crear una página que muestre los datos de cada campo, eso es muy fácil de hacer, y les doy el ejemplo con el campo de ban_id ;-) admin.php <? if(@mysql_connect($serv,$user,$pass)) { mysql_select_db($dbase); } else { echo "Hubo un error, disculpa las molestias"; exit(); } $sel = mysql_query("SELECT * FROM tabla"); echo "<table width=100%>"; while($show=mysql_fetch_assoc($sel)) { echo "<tr>". "<td>".$show['ban_id']."</td>". "</tr>"; } echo "</table>"; ?> Lo que haría es: 7. Seleccionar todo de la tabla 8. Imprimir el tag de la tabla HTML 9. Se muestra la información como un array asociativo 10. Se abre una fila 11. Se imprime la celda con el id 12. Se cierra la fila 13. Se cierra el while 14. Se cierra la tabla HTML NOTA 1: Un error común que todos hacemos es usar mysql_fetch_array() en vez de mysql_fetch_assoc(). Esto nos da un gasto de procesos innecesarios, ya que con array abrimos tanto un índice numeral como el índice asociativo (nombre del campo). Usando assoc directamente, nos ahorra tiempo si solo necesitamos usar los nombres de los campos para nuestras aplicaciones. NOTA 2: Colocando un @ antes de una función evita (no en todas las funciones) que se muestre un mensaje de error, en caso que algo salga mal. Es por eso que cuando algo salga mal en la conexión al motor MySQL, sólo se mostrará el mensaje que he colocado. Espero que les haya sido tan útil como a mí este pequeño script y que lo disfruten mucho ;-) Cuenten muchos clicks e impresiones! |
Como Utilizar cookies en PHP En un artículo anterior explicamos qué son y cómo utilizar las cookies con ASP, para aquellos que no leyeron les comentaremos nuevamente de que se tratan las cookies. ¿Qué es una cookie? Una cookie es un archivo de texto de peso sumamente bajo que se guarda en la PC del usuario, y son enviados por algunos servidores para almacenar datos para que puedan ser utilizados después. Algunos de los usos más frecuentes que se les suele dar a las cookies son: • Guardar información como nombre de usuario y contraseña • Guardar las preferencias del usuario • Guardar el nombre del usuario, u otros datos • Y muchísimos usos más Función setcookie() Se encarga de crear la cookie definiendo sus propiedades. La sintaxis es: setcookie (nombre, contenido, expiracion (segundos), path, dominio, seguridad) Toda cookie debe definirse antes de que comience la cabecera de la página (es decir, antes de la etiqueta <html>) ya que es una restricción que poseen, no tiene nada que ver con PHP. Todos los parámetros de la sintaxis anterior son opcionales menos nombre, el cual debe tener si o si un valor para poder crearla. Escribir y recuperar una cookie Para entender el funcionamiento de la función setcookie veremos el siguiente ejemplo: Código PHP: |
Recomendar Sitio Tema: Recomendar Sitio web Pregunta: ¿Como recomendar mi sitio web a un amigo? Respuesta: Con el siguiente ejemplo podremos crear nuestro Recomendador, ademas podrias agregar comprobaciones para que no queden sueltos algunos campos. Código PHP: Recomendar un sitio! |
Tema: Error Pregunta: Mi sitio esta publicado en un servidor(como ej:www.tripod.lycos.com/) y en las paginas no me salen las advertencias de errores que suelo ver en mi PC. ¿Hay alguna menare de verlos? Respuesta: Todos los servidores de hosting desavilitan la muestra de errores como "undefinided variable cTextoVeta". Nosotros en nuestra PC simplemente podemos modificar el php.ini donde editamos esta linea: error_reporting= E_PARSE; Pero no podemos editar la de un server. Por eso si queres ver detalles de error por diversos motivos, puedes agregar esta linea al principio de tu página: <? ini_set ('error_reporting', E_ALL); ?> Y con esto podras ver todos las advertencias de errores. Tambien existe una funcion especifica para cambiarlo:error_reporting(), de esta función pueden ver mas en www.php.net/error_reporting. |
TEMA: Cadenas y Loops Pregunta: Como recorrer el abecedario de forma simple? Utilizando un sencillo bucle FOR, ya que esta construcción permite usar caracteres como elementos de comparación e incremento. Digamos que quieres recorrer de la a a la m Código PHP: Código PHP: |
Como hacer Reportes con la clase PDF de R&OS Como generar un reporte PDF? Bueno, primero que nada un agradecimiento a cadrogui y a cluster por sus tips y contribuciones a este usuario inexperto. Con la inquietud de generar reportes para PHP, me recomendaron la clase PDF de R&OS (la cual la pueden encontrar en http://ros.co.nz/pdf) genere el siguiente script para una tabla MySQL. A este reporte pueden modificar los headers de la tabla, las columnas las pueden formatear de acuerdo a sus necesidades, pueden modificar los encabezados y demas. Ademas al final nos da un total por importe, anticipo y numero de registros. Espero y les sea de utilidad como a mi. Saludos :adios: Jose de Jesus Segundo Monterrey - Mexico Código PHP: http://www.industrialmexicana.com/finanzas.jpg |
Como generar un reporte PDF? Parte 2 Aqui esta un volcado de ejemplo para que utilicen o tomen como ejemplo para este reporte. # phpMyAdmin MySQL-Dump # version 2.2.6 # http://phpwizard.net/phpMyAdmin/ # http://www.phpmyadmin.net/ (download page) # # servidor: 127.0.0.1 # Tiempo de Generacion: 02-12-2003 a les 12:50:55 # Version del Servidor: 3.23.49 # Version del PHP: 4.3.2 # Base De Datos : `indmex` # -------------------------------------------------------- # # Estructura de tabla para tabla `contratos` # DROP TABLE IF EXISTS contratos; CREATE TABLE contratos ( id int(11) NOT NULL auto_increment, contrato int(6) NOT NULL default '0', cliente varchar(70) NOT NULL default '', tipo char(1) NOT NULL default '', serie varchar(6) NOT NULL default '', modelo varchar(20) NOT NULL default '', cantidad double NOT NULL default '0', fechareg date NOT NULL default '0000-00-00', fechacomp date NOT NULL default '0000-00-00', importe double NOT NULL default '0', listamat char(1) NOT NULL default '', fechalm date NOT NULL default '0000-00-00', anticipo double NOT NULL default '0', fechaant date NOT NULL default '0000-00-00', compras char(1) NOT NULL default '', fechacompra date NOT NULL default '0000-00-00', fechaprod date NOT NULL default '0000-00-00', prod_c char(1) NOT NULL default '', prod_p char(1) NOT NULL default '', prod_d char(1) NOT NULL default '', prod_s char(1) NOT NULL default '', fechater date NOT NULL default '0000-00-00', embarcado char(1) NOT NULL default '', pagado char(1) NOT NULL default '', terminado char(1) NOT NULL default '', pedido varchar(25) NOT NULL default '', descripcion varchar(50) NOT NULL default '', vendedor varchar(15) NOT NULL default '', producto int(4) NOT NULL default '0', oficina int(4) NOT NULL default '0', PRIMARY KEY (id), KEY contrato (contrato,cliente,tipo,serie,modelo), KEY listamat (listamat) ) TYPE=MyISAM; # # Volcar la base de datos para la tabla `contratos` # INSERT INTO contratos VALUES (1, 467, 'INGRIA. ESPECIALIZADA EN REFRIG., SA CV', 'R', '', 'BOMBA 1.5HP #300210', '1', '2003-11-13', '2003-12-25', '9173.39', '', '0000-00-00', '0', '0000-00-00', '', '0000-00-00', '0000-00-00', '', '', '', '', '0000-00-00', '', '', 'V', 'IERI-138-03', '1BOMBA 1.5HP', 'RAR', 605, 1); INSERT INTO contratos VALUES (2, 468, 'CANCELADO (FRYVITEC)', 'R', '', 'SELLADOR BUTYLO', '2', '2003-11-13', '2003-11-14', '0', '', '0000-00-00', '0', '0000-00-00', '', '0000-00-00', '2003-11-13', '', '', '', '', '2003-11-14', '', '', 'C', 'S/N', 'SELLADOR BUTYLO', 'FLR', 605, 7); INSERT INTO contratos VALUES (3, 469, 'CONDOMINIO WORLD TRADE CENTER CD. MEXICO', 'R', '', 'REFAC. VARIAS', '0', '2003-11-13', '2003-12-04', '17302.84', '', '0000-00-00', '0', '0000-00-00', '', '0000-00-00', '0000-00-00', '', '', '', '', '0000-00-00', '', '', 'V', 'S/N', 'REFAC. VARIAS', 'AFG', 605, 2); INSERT INTO contratos VALUES (4, 470, 'FABRICAS MONTERREY, SA CV', 'R', '', 'BANDA Y POLEA', '0', '2003-11-17', '2003-12-15', '4542.92', '', '0000-00-00', '0', '0000-00-00', '/', '0000-00-00', '0000-00-00', '', '', '', '', '0000-00-00', '', '', 'V', '4500047080', 'BANDA Y POLEA', 'AFG', 605, 2); INSERT INTO contratos VALUES (5, 471, 'RANCHO EL AGUATOCHE, SA DE CV', 'R', '', 'TORNILLERIA', '0', '2003-11-18', '2003-11-18', '1365', '', '0000-00-00', '0', '2003-11-19', '', '0000-00-00', '2003-11-18', '', '', '', '', '2003-11-18', 'X', '', 'T', '2403', 'TORNILLERIA', 'OFNA', 605, 1); INSERT INTO contratos VALUES (6, 472, 'MANUFACTURAS ESPECIALIZADAS, SA', 'R', '', 'KG. TUBO COBRE 1/4"', '127', '2003-11-18', '2003-11-19', '20095.35', '', '0000-00-00', '0', '2003-11-19', 'X', '0000-00-00', '2003-11-18', '', '', '', '', '2003-11-19', 'X', '', 'T', 'OC-002731', '641 KG. TUBO COBRE', 'OFNA', 605, 1); INSERT INTO contratos VALUES (7, 473, 'CIA. CERVECERA DE ZACATECAS, SA CV', 'R', '', 'LAINAS P/ACOPLAM.', '1', '2003-11-18', '2003-12-08', '390.92', '', '0000-00-00', '0', '0000-00-00', '/', '2003-11-24', '2003-11-19', '', '', '', '', '2003-11-26', '', '', 'T', '27703', '1 JG. LAINAS ACOPL.', 'LMS', 605, 3); INSERT INTO contratos VALUES (8, 474, 'HEAVY DUTY, SA DE CV', 'R', '', 'REFAC. VARIAS', '0', '2003-11-19', '2003-12-31', '9657.6', '', '0000-00-00', '5591.37', '2003-11-20', '', '0000-00-00', '0000-00-00', '', '', '', '', '0000-00-00', '', '', 'V', 'S/N', 'REFAC. VARIAS', 'AFG', 605, 2); INSERT INTO contratos VALUES (9, 475, 'FRYVITEC, SA DE CV', 'R', '', 'ROLLO SELLADOR', '10', '2003-11-19', '2003-11-20', '2110.1', '', '0000-00-00', '2435', '2003-11-19', '', '0000-00-00', '2003-11-19', '', '', '', '', '2003-11-20', 'X', 'X', 'T', '76-03', '10 ROLLO SELLADOR BUTYLO', 'FLR', 605, 7); INSERT INTO contratos VALUES (10, 476, 'SERVICIOS BTF, SA CV', 'R', '', 'REFAC. VARIAS', '0', '2003-11-19', '2003-12-10', '2114.54', '', '0000-00-00', '0', '0000-00-00', '', '0000-00-00', '2003-11-19', '', '', '', '', '2003-11-20', '', '', 'T', 'S/N', 'REFAC. VARIAS', 'RAR', 605, 1); INSERT INTO contratos VALUES (11, 477, 'GRUPO I.QU.A., SA DE CV', 'R', '', 'RELLENO Y BANDAS', '0', '2003-11-19', '2003-12-24', '115056.09', '', '0000-00-00', '57808.8', '2003-11-24', '', '0000-00-00', '2003-11-25', '', '', '', '', '0000-00-00', '', '', 'V', '181 / 182', 'RELLENO Y BANDAS', 'RAR', 605, 1); INSERT INTO contratos VALUES (12, 478, 'PROCITRUS, SA DE CV', 'R', '', '2 VENT. #250092', '2', '2003-11-19', '2003-11-20', '1710.29', '', '0000-00-00', '2008.31', '2003-11-20', 'X', '0000-00-00', '2003-11-19', '', '', '', '', '2003-11-20', 'X', '', 'T', 'S/N', '2 VENT. #250092', 'RAR', 605, 1); INSERT INTO contratos VALUES (13, 3703, 'EXISTENCIA ALMACEN', 'T', 'FXV', '1-FXV-422', '1', '2002-05-06', '0000-00-00', '0', '', '0000-00-00', '0', '0000-00-00', '', '0000-00-00', '2003-05-02', '', '', '', '', '0000-00-00', '', '', 'V', '', '1-FXV-422', '', 601, 1); INSERT INTO contratos VALUES (14, 3818, 'INGROS. EN REFRIGERACION, SA CV', 'T', 'VC1', 'VC1-30', '1', '2003-10-14', '2003-12-09', '48304.2', 'X', '2003-11-07', '29102.93', '2003-10-29', '/', '2003-11-24', '2003-10-29', '', '', '', '', '0000-00-00', '', '', 'V', '', '', 'LMS', 603, 3); INSERT INTO contratos VALUES (15, 3819, 'AQUASISTEMAS INTEGRALES, SA DE CV', 'T', 'FXT', 'FXT-142', '1', '2003-10-16', '2003-12-11', '51335', 'X', '2003-10-24', '31411.41', '2003-10-27', '/', '2003-10-23', '2003-10-21', 'X', 'X', '', '', '0000-00-00', '', '', 'V', 'AQS-1101', '', '669', 601, 5); INSERT INTO contratos VALUES (16, 3820, 'ALTOPRO, SA DE CV', 'T', '33000', '33646', '1', '2003-10-29', '2003-12-26', '271074', 'X', '2003-11-06', '164374.25', '2003-10-31', '/', '2003-11-24', '2003-10-31', '', '', '', '', '0000-00-00', '', '', 'V', 'B32451', '', '639', 601, 2); INSERT INTO contratos VALUES (17, 3821, 'MAYEKAWA DE MEXICO, SA DE CV', 'T', 'VC2', 'VC2-420', '1', '2003-10-22', '2003-12-17', '278705.8', 'X', '2003-11-10', '100741.71', '2003-11-07', '/', '2003-11-24', '2003-11-07', '', '', '', '', '0000-00-00', '', '', 'V', '10359', '', '671', 603, 7); INSERT INTO contratos VALUES (18, 3822, 'PACSA SUMINISTROS Y APLICACIONES, SA DE CV', 'T', 'IL', 'IL-56-7-P3', '2', '2003-10-22', '2003-12-18', '190546', 'X', '2003-10-29', '100000', '2003-10-23', '/', '2003-11-24', '2003-10-28', '/', '', '', '', '0000-00-00', '', '', 'V', '1290', '', '650', 601, 2); INSERT INTO contratos VALUES (19, 3823, 'JABIL GLOBAL SERVICES', 'T', 'JE', 'JE-31055', '1', '2003-10-30', '2003-12-25', '617780.8', 'X', '2003-11-14', '355223.96', '2003-11-11', '/', '0000-00-00', '2003-11-11', '', '', '', '', '0000-00-00', '', '', 'V', '22AS03424B', '1 JE-31055', '280', 601, 1); INSERT INTO contratos VALUES (20, 3824, 'ALTOPRO, SA DE CV', 'T', 'VTL', 'VTL-079-K', '1', '2003-11-13', '2004-01-22', '76807.71', 'X', '2003-11-19', '43705.13', '2003-11-13', '/', '0000-00-00', '2003-11-13', '', '', '', '', '0000-00-00', '', '', 'V', 'B32788', '1 VTL-079-K', 'AFG', 601, 2); INSERT INTO contratos VALUES (21, 3825, 'EATON CONTROLS, S DE RL DE CV', 'T', '33000', '33568', '2', '2003-11-05', '2004-01-02', '489277.12', 'X', '2003-11-12', '278352.75', '2003-11-14', '/', '2003-11-24', '2003-11-12', '', '', '', '', '0000-00-00', '', '', 'V', '5070-000988-00', '2 33568', 'RSG', 601, 1); INSERT INTO contratos VALUES (22, 3826, 'INGROS. EN REFRIGERACION, SA CV', 'T', 'VC1', 'VC1-46', '1', '2003-11-05', '2003-12-31', '58771.89', 'X', '2003-11-10', '33442.38', '2003-11-10', '/', '2003-11-24', '2003-11-05', '', '', '', '', '0000-00-00', '', 'X', 'V', '364-2003', '1 VC1-46', 'LMS', 603, 1); INSERT INTO contratos VALUES (23, 3827, 'PACE INDUSTRIES DE MEXICO, SA DE CV', 'T', 'FXT', 'FXT-87', '1', '2003-11-11', '2004-01-20', '51419.85', 'X', '2003-11-25', '29173.47', '2003-11-13', '/', '0000-00-00', '2003-11-13', '', '', '', '', '0000-00-00', '', '', 'V', '2028759', '1 FXT-87', 'GGA', 601, 1); INSERT INTO contratos VALUES (24, 40798, 'CARRIER MEXICO, S.A. DE C.V.', 'M', '39L', '39LD35', '2', '2003-01-10', '0000-00-00', '7294', '', '0000-00-00', '0', '2020-00-01', '', '0000-00-00', '2020-00-01', '', '', '', '', '0000-00-00', '', '', 'T', '802297', '', '', 601, 1); INSERT INTO contratos VALUES (25, 41110, 'CARRIER MEXICO, SA DE CV', 'M', '39N', '39NF50', '2', '2003-11-12', '2003-12-24', '161389.49', 'X', '2003-11-14', '0', '0000-00-00', '/', '2003-11-20', '2003-11-17', '', '', '', '', '0000-00-00', '', '', 'V', '803088', '2 39NF50', 'CARRIER', 613, 1); INSERT INTO contratos VALUES (26, 41111, 'CARRIER MEXICO, SA DE CV', 'M', '39N', '39NF11', '1', '2003-11-18', '2003-12-30', '24144.01', 'X', '2003-11-20', '0', '0000-00-00', '/', '2003-11-26', '2003-11-18', '', '', '', '', '0000-00-00', '', '', 'V', '803105', '1 39NF11', 'CARRIER', 613, 1); |
Leer un a pagina web y sacar las imagenes Tema: Expresiones regulares/Archivos HTML Pregunta: ¿Como leer un a pagina web y sacar las imagenes Con las siguiente funcion podemos hacerlo: Código PHP: Código PHP:
(*) Para abrir paginas "externas" (que empiezan con http://blablabla) es necesario setear allow_url_fopen = ON en el PHP.INI (http://ar2.php.net/manual/en/ref.fil...llow-url-fopen) |
Tema: Interacción PHP+Javascript+MySQL Pregunta : ¿Cómo hacer una marquesina rotaria con resultados de una BD? Respuesta: Marquesina Rotaria de Noticias (o de lo que sea) (PHP+javascript+MySQL) La idea de esta marquesina es hacer un include( ) en donde queramos de un archivo que llamaremos marquesina.php Utiliza javascript para efectos de hacer la rotación de los titulares de las noticias (o lo que sea) y PHP para hacer que dicha marquesina algo dinámico facilmente actualizable. Para efectos del ejemplo usaremos una tabla que contenga lo siguiente: Tabla: noticias Campos: idnot fecha titulo contenido idnot (Tipo: tinyint / Atributos: UNSIGNED / Extra: Autoincrement) fecha (Tipo: DATE) titulo (Tipo: VARCHAR(50)) contenido (Tipo: longtext) Luego definimos el javascript que genera la rotación de los titulares (este lo conseguí en la red, no manejo javascript) Código: <script language="JavaScript1.2">Código PHP: Por ejemplo si fuera la noticia idnot=1 , fecha=2004-01-01 , titulo=’Comienza el 2004’, contenido=’Comienza el 2004 y en la Alameda quedó la…..etc’ Se corta el título en 25 caractreres y le agrego puntos suspensivos. (substr($row[titulo],0,25) El html generado sería: <a href=noticias.php?idnot=1>Comienza el 2004…<br>01-01-2044</a><br> y así hasta los 5 últimos titulares. El código final quedaría así: Código PHP: Luego para que funcione por completo debemos crear una página que reciba el idnot y muestre el contenido de la noticia. Con el siguiente php (archivo “vernoticia.php”) Código PHP: Código PHP: La página tiene un poco de propaganda pero nada tan terrible. Saludos Darkoi |
[B]Creación de Thumbnails de imágenes[/B] Pregunta:¿Como Crear Thumbnails de imágenes? Respuesta: Un Thumbnails consiste en previsualizaciones de menor tamaño de una imagen original lo cual se utiliza mucho para galerías, mostrando una copia de la imagen original pero de menor tamaño. Para el ejemplo utilizare una como formato de imagen el GIF, Primero presentare el codigo y luego la explicacion linea por linea al igual que como hacerlo con diferentes formatos de imagen. Supongo que el nombre del archivo es imagen.php Código PHP: Código PHP: http://www.servidor.com/cuenta/imagen.php Y la imagen, en este caso supondremos el nombre "01.gif", se encuentra en: http://www.servidor.com/cuenta/galeria/01.gif A imagen.php Solo Le Pasaremos galeria/01.gif como valor de ruta: http://www.servidor.com/cuenta/image...galeria/01.gif Pero esto no es todo, recordemos que recibe otros dos parametros, los cuales son alto y ancho, Estos no se refieren al alto y ancho de la imagen original, se refieren al alto y ancho que queremos la previsualizacion(Thumbnail), entonces si queremos que nos devuelva la imagen 01.gif, ubicada en el directorio galeria y cuyo tamaño original es de 400 pixeles de anchura y 300 pixeles de altura pero queremos la previsualizacion de 200 pixeles de anchura y 150 pixeles de altura tendriamos que llamarla de esta manera: http://www.servidor.com/cuenta/image...o=200&alto=150 Obviamente si lo llamamos para presentarlo como imagen dentro de un archivo al usuario(.html, .php, etc), lo llamamos mediante el tag IMG: <IMG SRC="http://www.servidor.com/cuenta/imagen.php?ruta=galeria/01.gif&ancho=200&alto=150"> Ahora que ya sabemos como llamar a la imagen, vamos a ver como se hace la previsualizacion(Thumbnail), como es que se crea desde una imagen mas grande una imagen mas pequeña tanto en pixeles como en tamaño para su presentacion al usuario. Primero creamos una copia de la imagen desde archivo, la igualamos a $fuente, ya que alli quedara un identificador de tipo ENTERO(INT) para dirijirnos a la imagen creada, esto es necesario ya que sera de esta imagen que haremos la Previsualizacion(Thumbnail). Código PHP: Código PHP: Código PHP: Código PHP: Código PHP: Utilizamos la funcion Código PHP: Esto puede sonar un poco confuso, por eso es mejor que mira la documentacion oficial en http://www.php.net/ para informacion sobre los parametros que recibe esta funcion. Código PHP: Código PHP: image/jpeg ó image/png Ahora devolvemos la imagen directamente al browser(navegador) del usuario. Código PHP: -------------------------------------------------------------------------------- Bien espero haya quedado claro, pero vamos a ver otro aspecto, que tal si no queriamos devolver la imagen, lo que queriamos era guardar la nueva imagen(Thumbnail) en el servidor, para su uso posterior?... Al ponerle un segundo parametro al imageGif($imagen,"imagenPequena.gif"), Lo lograremos, en este caso guardaria la imagen que acabamos de crear en el servidor, especificamente en la misma carpeta con el nombre de "imagenPequena.gif". Esto puede ser muy util, ya que si queremos crear thumbnails de todas las imagenes en un directorio, podemos hacer un loop que lea los archivos del directorio, y repita el proceso anterior(de crear imagen en blanco y copiar) y guarde las nuevas imagenes para su uso posterior, realmente es una herramienta con muchos usos. Cabe recordar que su servidor tiene que tener soporte para manipular imagenes, segun el tipo que desee utilizar, en caso de no tenerlo el servidor le dara un mensaje de error como "Jpeg is no support..." dependiendo del formato de imagen. |
| La zona horaria es GMT -6. Ahora son las 08:01. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.