PHP Mysql 2017 1
PHP Mysql 2017 1
Email
Utiliza el protocolo SMTP ("Simple Mail Transfer Protocol"), para la
recepcin y envo.
TELNET
Se utiliza para conectar a equipos remotos mediante la Red emulando
un terminal del equipo al que se realiza la conexin.
FTP
("File Transfer Protocol"), se usa para enviar o recibir ficheros (de
cualquier tipo) entre dos equipos conectados a la red.
DNS
("Domain Name Service") es usado por otros, como TELNET, FTP,
WWW, etc. para conseguir las direcciones IP (numricas) de las
mquinas remotas a partir de los nombres de dominio.
Servicios de Internet 2
Gopher
Un servicio de informacin basado en servidores y que sirve de
interfaz para otros servicios de informacin.
WAIS
("Wide Area Information Service"). Se trata de otro servicio de
informacin basado en bases de datos de ficheros que permiten su
rpida localizacin.
Finger
Un servicio de identificacin de usuarios.
WWW
La Web, WWW, W3. Un servicio basado en HTTP (Hyper Text
Transfer Protocol), el ltimo y ms popular que est fagocitando a
muchos de los anteriores [2].
Servicios de Internet 3
WWW
La Web, WWW, W3. Un servicio basado en HTTP (Hyper Text
Transfer Protocol), el ltimo y ms popular que est fagocitando a
muchos de los anteriores [2].
NFS
("Network File System"). Un sistema que permite a equipos fsicamente
distantes, compartir discos y directorios mediante la tcnica
denominada RPC ("Remote Procedure Call").
NIS
("Network Information Services"). Tambin basados en RPC, permite
que varios sistemas puedan compartir una misma base de datos
situada en remoto.
R
Tales como rlogin, rsh y otros. Utilizan la idea de acuerdos entre
sistemas (hosts trusting), que permite ejecutar comandos y otras
rdenes en equipos remotos sin requerir un password.
Protocolo HTTP/HTTPS
HTTP
("Hyper-Text Transfer Protocol") (HTTP 1.2) es un protocolo de Capa
de Aplicacin para distribuir sistemas de informacin hipermedia.
HTTP es un protocolo de consulta-respuesta, estndar para
aplicaciones cliente/servidor.
Protocolo HTTP/HTTPS 2
URI
Los recursos a ser accedidos via HTTP son
identificados usando URIs (Uniform Resource
Identifiers)
URL
Ms especficamente, URLs (Uniform Resource
Locators) usan los esquemas HTTP/HTTPS.
Mtodos
HTTP define 8 mtodos: HEAD, GET, POST, PUT,
DELETE, TRACE, OPTIONS, CONNECT.
Respuesta
1xx Mensajes, 2xx Operacin exitosa, 3xx Redireccin,
4xx Error por parte del cliente, 5xx Error del servidor.
200 OK, 404 No encontrado, 500 Error interno,
PHP y MySQL
Tema 1: Introduccin
Tema 1: Introduccin
1. Introduccin a PHP
2. Instalacin de Apache
3. Instalacin de PHP
4. Instalacin de una distribucin de Apache: XAMPP
5. Entornos de desarrollo para PHP
6. Recursos de PHP
Historia de php
1994
PHP: personal home page.
Era un CGI escrito en C por Rasmus Lerdorf.
1995
Se libera php y se llama php 2.
1997
Zeev Suraski y Andi Gutmans escriben el parser.
PHP 3: Hypertext Preprocessor.
Se libera en 1998
1999
Zend Engine 1.0.
Zend Technologies.
Historia de php 2
2000
PHP 4 powered by Zend Engine 1.0.
2005
PHP 5 powered by Zend Engine 2.0.
Agosto de 2008
Php 4.4.9 se congela.
Noviembre 19 de 2009
Php 5.3.1.
Benchmark
Mediciones de velocidad en PHP 5.
http://www.tiaon.com/wordpress/2007/04/10/fastest-loop-code-in-php5/
http://www.php.lt/benchmark/phpbench.php
Introduccin a PHP
Lenguajes de script
PHP es un lenguaje de script del lado del servidor. Otros lenguajes
similares son ASP, JSP o ColdFusion
Los scripts PHP estn incrustados en los documentos HTML y el
servidor los interpreta y ejecuta antes de servir las pginas al cliente
El cliente no ve el cdigo PHP sino los resultados que produce
Introduccin a PHP
Pgina Pgina
HTML HTML
internet
<P>Hola, Ana</P>
Introduccin a PHP
<?PHP
$nombre = "Ana";
print ("<P>Hola, $nombre</P>");
?>
<P>Hola, Ana</P>
Introduccin a PHP
Requisitos
Servidor web Apache (www.apache.org)
con el mdulo PHP (www.php.net)
y la base de datos MySQL (www.mysql.com) si se desea crear pginas
dinmicas
Otras utilidades
Herramientas para la gestin de MySQL, como PHPMyAdmin
(www.phpmyadmin.net)
Editores de PHP, como DevPHP (www.sourceforge.net) o Eclipse
(www.eclipse.org)
Manuales de PHP y MySQL
Instalacin de Apache
<?PHP
phpinfo(); prueba.php
?>
Instalacin de PHP
Qu es XAMPP?
XAMPP es una distribucin de Apache que incluye MySQL,
PHP y otras herramientas para el desarrollo de aplicaciones
web, como phpMyAdmin
XAMPP es gratuito y fcil de instalar: basta con descargar el
archivo y extraerlo
XAMPP es multiplataforma: existen versiones para Windows,
Linux y Mac OS
Precaucin: la configuracin por defecto de XAMPP no es
segura y no es adecuada para un entorno de produccin. El
paquete incluye una herramienta para obtener una
configuracin ms segura
Instalacin de XAMPP
NOTA
El editor Dev-PHP ocupa muy poco espacio y es muy simple de
manejar. El entorno Eclipse (vase a continuacin) ocupa bastante
ms espacio y consume ms recursos del sistema, pero ofrece una
potencia muy superior para el desarrollo de aplicaciones en PHP
Entornos de desarrollo para PHP
Documentacin
Manuales en www.apache.org, www.php.net, www.mysql.com
Tutoriales, scripts, artculos
www.phpbuilder.com
www.codewalkers.com
www.devshed.com
www.tutorialfind.com
www.melonfire.com
PHP y MySQL
1. Sintaxis bsica
2. Tipos de datos
3. Variables
4. Constantes
5. Expresiones y operadores
6. Estructuras de control
7. Funciones
8. Tablas
9. Bibliotecas de funciones
Sintaxis bsica
Ejemplo:
<HTML>
<HEAD>
<TITLE>Mi primer programa en PHP</TITLE>
</HEAD>
<BODY>
<?PHP
print (<P>Hola mundo</P>);
?>
</BODY>
</HTML>
Sintaxis bsica
Salida Prrafo 1
Prrafo 2
Sintaxis bsica
Salida Prrafo 1
Prrafo 2
Sintaxis bsica
<HTML>
<HEAD>
<TITLE>Ttulo</TITLE>
<?PHP
// Incluir bibliotecas de funciones
require ("conecta.php");
require ("fecha.php");
require ("cadena.php");
require ("globals.php");
?>
</HEAD>
<BODY>
<?PHP
include ("cabecera.html");
?>
// Cdigo HTML + PHP
...
<?PHP
include ("pie.html");
?>
</BODY>
</HTML>
Tipos de datos
Resultado:
El valor es: 5
Variables
Variables variables
Se pueden crear nombres de variables dinmicamente
La variable variable toma su nombre del valor de otra variable previamente
declarada
Ejemplo:
$a = "hola";
$$a = "mundo";
Resultado:
hola mundo
hola mundo
Variables
Ejemplo de variables variables: pgina internacionalizada (1)
<?PHP
$mensaje_es="Hola";
$mensaje_en="Hello";
$idioma = "es";
$mensaje = "mensaje_" . $idioma;
print $$mensaje;
?>
Variables
Ejemplo de variables variables: pgina internacionalizada (2)
<?PHP
$mensaje_es="Hola";
$mensaje_en="Hello";
$idioma = "en";
$mensaje = "mensaje_" . $idioma;
print $$mensaje;
?>
Constantes
Definicin de constantes:
define (CONSTANTE, hola);
print CONSTANTE;
No llevan $ delante
Slo se pueden definir constantes de los tipos escalares (boolean,
integer, double, string)
Expresiones y operadores
Operadores aritmticos:
+, -, *, /, %, ++, --
Operador de asignacin:
=
operadores combinados: .=, +=, etc
$a = 3; $a += 5; a vale 8
$b = hola ; $b .= mundo; b vale hola mundo
Equivale a $b = $b . mundo;
Operadores de comparacin:
===, ==, !=, <, >, <=, >= y otros
Operador de control de error: @. Antepuesto a una expresin, evita cualquier
mensaje de error que pueda ser generado por la expresin
Operadores lgicos:
and (&&), or (||), !, xor
and/&& y or/|| tienen diferentes prioridades
Operadores de cadena:
concatenacin: . (punto)
asignacin con concatenacin: .=
Expresiones y operadores
++, --
*, /, %
+,-
<, <=, >, >=
==, !=
&&
||
and
or
Estructuras de control
Estructuras selectivas:
if-else
switch
Estructuras repetitivas:
while
for
foreach
Estructuras de control
<?PHP
if ($sexo == M)
$saludo = "Bienvenida, ";
else
$saludo = "Bienvenido, ";
$saludo = $saludo . $nombre;
print ($saludo);
?>
Estructuras de control
Estructura selectiva switch
switch (expresin)
{
case valor_1:
sentencia 1
break;
case valor_2:
sentencia 2
break;
case valor_n:
sentencia n
break;
default
sentencia n+1
}
Mismo comportamiento que en C, slo que la expresin del case
puede ser integer, float o string
Estructuras de control
Ejemplo de estructura selectiva switch:
switch ($extension)
{
case ("PDF"):
$tipo = "Documento Adobe PDF";
break;
case ("TXT"):
$tipo = "Documento de texto";
break;
case ("HTML"):
case ("HTM"):
$tipo = "Documento HTML";
break;
default:
$tipo = "Archivo " . $extension;
}
print ($tipo);
Estructuras de control
condicin
Estructura repetitiva while falsa cierta
while (condicin)
sentencia
sentencia
<?PHP
print ("<UL>\n");
$i=1;
while ($i <= 5)
{
print ("<LI>Elemento $i</LI>\n");
$i++;
}
print ("</UL>\n");
?>
Estructuras de control
incremento
Estructuras de control
<?PHP
print ("<UL>\n");
for ($i=1; $i<=5; $i++)
print ("<LI>Elemento $i</LI>\n");
print ("</UL>\n");
?>
Estructuras de control
Ejemplo:
function suma ($x, $y)
{
$s = $x + $y;
return $s;
}
$a=1;
$b=2;
$c=suma ($a, $b);
print $c;
Funciones
$a=1;
incrementa ($a);
print $a; // Muestra un 2
Funciones
Los argumentos con valores por defecto deben ser siempre los
ltimos:
function muestranombre ($nombre, $titulo= "Sr.")
{
print "Estimado $titulo $nombre:\n";
}
muestranombre (Fernndez);
muestranombre (Fernndez, "Prof.");
Salida:
Estimado Sr. Fernndez:
Estimado Prof. Fernndez:
Tablas
Sintaxis:
array ([clave =>] valor, ...)
La clave es una cadena o un entero no negativo. El valor puede ser
de cualquier tipo vlido en PHP, incluyendo otro array
Ejemplos:
$color = array (rojo=>101, verde=>51, azul=>255);
$medidas = array (10, 25, 15);
Acceso:
$color[rojo] // No olvidar las comillas
$medidas[0]
El primer elemento es el 0
Tablas
La estructura de control foreach permite iterar sobre arrays
Sintaxis:
foreach (expresin_array as $valor)
sentencia
foreach (expresin_array as $clave => $valor)
sentencia
Ejemplos:
foreach ($color as $valor)
print Valor: $valor<BR>\n;
foreach ($color as $clave => $valor)
print Clave: $clave; Valor: $valor<BR>\n;
Salida:
Valor: 101
Valor: 51
Valor: 255
Clave: rojo; Valor: 101
Clave: verde; Valor: 51
Clave: azul; Valor: 255
Bibliotecas de funciones
strtotime()
Convierte una fecha en un timestamp de UNIX
Ejemplo:
$fecha = date ("j/n/Y", strtotime(5 april 2001"));
print ("$fecha");
Resultado:
5/4/2001
Bibliotecas de funciones
Funciones de arrays
array_count_values()
Calcula la frecuencia de cada uno de los elementos de un array
array_search()
Busca un elemento en un array
count()
Cuenta los elementos de un array
sort(), rsort()
Ordena y reindexa un array (r=decreciente)
ksort(), krsort()
Ordena por claves un array (r=decreciente)
Bibliotecas de funciones
Tema 3: Formularios
TEXT
Introduzca la cadena a buscar:
<INPUT TYPE="text" NAME="cadena" VALUE="valor por defecto" SIZE="20">
<?PHP
$cadena = $_REQUEST[cadena];
print ($cadena);
?>
Acceso a formularios desde PHP
Sexo:
<INPUT TYPE="radio" NAME=sexo" VALUE=M CHECKED>Mujer
RADIO <INPUT TYPE="radio" NAME=sexo" VALUE=H">Hombre
<?PHP
$sexo = $_REQUEST[sexo];
print ($sexo);
?>
Acceso a formularios desde PHP
<?PHP
$extras = $_REQUEST[extras];
foreach ($extras as $extra)
CHECKBOX print ($extra<BR>\n);
?>
Acceso a formularios desde PHP
BUTTON
<?PHP
$actualizar = $_REQUEST[actualizar];
if ($actualizar)
print ("Se han actualizado los datos");
?>
Acceso a formularios desde PHP
<?PHP
print(<INPUT TYPE=hidden NAME=username VALUE=$usuario>\n);
HIDDEN ?>
<?PHP
$username = $_REQUEST[username];
print ($username);
?>
Acceso a formularios desde PHP
PASSWORD
<?PHP
$clave = $_REQUEST[clave];
print ($clave);
?>
Acceso a formularios desde PHP
SUBMIT
<?PHP
$enviar = $_REQUEST[enviar];
if ($enviar)
print ("Se ha pulsado el botn de enviar");
?>
Acceso a formularios desde PHP
Color:
<SELECT NAME=color">
SELECT simple <OPTION VALUE=rojo" SELECTED>Rojo
<OPTION VALUE=verde">Verde
<OPTION VALUE=azul">Azul
</SELECT>
<?PHP
$color = $_REQUEST[color];
print ($color);
?>
Acceso a formularios desde PHP
Idiomas:
<SELECT MULTIPLE SIZE="3" NAME="idiomas[]">
SELECT mltiple
<OPTION VALUE="ingles" SELECTED>Ingls
<OPTION VALUE="frances">Francs
<OPTION VALUE="aleman">Alemn
<OPTION VALUE="holandes">Holands
</SELECT>
<?PHP
$idiomas = $_REQUEST[idiomas];
foreach ($idiomas as $idioma)
print ($idioma<BR>\n);
?>
Acceso a formularios desde PHP
Comentario:
<TEXTAREA COLS=50" ROWS=4" NAME="comentario">
TEXTAREA Este libro me parece ...
</TEXTAREA>
<?PHP
$comentario = $_REQUEST[comentario];
print ($comentario);
?>
Acceso a formularios desde PHP
si se ha enviado el formulario:
Procesar formulario
si no:
Mostrar formulario
fsi
El formulario de PHP
a b
) )
si se ha enviado el formulario:
Procesar formulario
Esquema de funcionamiento:
si no:
Mostrar formulario
fsi
o bien
if ($enviar == procesar)
El formulario de PHP
php.ini
; File Uploads ;
;;;;;;;;;;;;;;;;
file_uploads = On
;upload_tmp_dir =
formulario
; Maximum allowed size for uploaded files.
<INPUT TYPE=HIDDEN
upload_max_filesize = 2M NAME=MAX_FILE_SIZE VALUE='102400'>
<INPUT TYPE=FILE NAME="fichero">
Subida de ficheros al servidor
Consideraciones (cont)
Debe darse al fichero un nombre que evite coincidencias con ficheros ya
subidos. Por ello, y como norma general, debe descartarse el nombre
original del fichero y crear uno nuevo que sea nico
El fichero subido se almacena en un directorio temporal y hemos de
moverlo al directorio de destino usando la funcin move_upload_file()
Procedimiento:
move_uploaded_file ($_FILES['imagen']['tmp_name'],
$nombreDirectorio . $nombreFichero);
}
else
print ("No se ha podido subir el fichero\n");
Subida de ficheros al servidor
PHP
if (is_uploaded_file ($_FILES['imagen']['tmp_name']))
{
$nombreDirectorio = "img/";
$nombreFichero = $_FILES['imagen']['name'];
move_uploaded_file ($_FILES['imagen']['tmp_name'],
$nombreDirectorio . $nombreFichero);
}
else
print ("No se ha podido subir el fichero\n");
Subida de ficheros al servidor
si se ha enviado el formulario:
si hay errores:
Mostrar formulario con errores
si no:
Procesar formulario
fsi
si no:
Mostrar formulario
fsi
Validacin de formularios
si se ha enviado el formulario:
validar datos
fsi
si se ha enviado el formulario y no hay errores:
Procesar formulario
si no:
Mostrar formulario con valores por defecto o ya enviados
fsi
Validacin de formularios
a b c)
) )
si se ha enviado el formulario:
validar datos
Esquema de funcionamiento:
fsi
si no:
Mostrar formulario
fsi
Pasos:
Descargar
Descomprimir e instalar
Configurar
Arrancar
Conectar con el servidor
Instalar la extensin para MySQL de PHP
Instalacin y config. de MySQL
extension=php_mysql.dll
Aadir la ruta c:\php al PATH del sistema (ver las instrucciones para
hacerlo en el fichero install.txt que hay en la carpeta c:\php)
MySQL
Caractersticas de MySQL
Modelo relacional, multiusuario
Tipos de datos
Numricos
tinyint, smallint, mediumint, int, integer, bigint
decimal, float, numeric
Fecha y hora
date, time, datetime, year, timestamp
Cadena
char, varchar
tinytext, text, mediumtext, longtext
tinyblob, blob, mediumblob, longblob
enum, set
Debe elegirse adecuadamente el tipo y el tamao de cada campo
MySQL
Operadores
Aritmticos
+, -, *, /
Comparacin
=, !=, <=, <, >=, >, IS NULL, IS NOT NULL
Lgicos
not (!), and (&&), or (||), xor
Funciones
Funciones de cadena
Funciones de comparacin de cadenas
Funciones numricas
Funciones de fecha y hora
Funciones de agregado
Herramientas de administracin:
phpMyAdmin
phpMyAdmin es una herramienta para la administracin del
servidor de bases de datos MySQL
Dispone de una interfaz grfica y es de libre distribucin
Permite realizar todo tipo de operaciones sobre bases de
datos:
crear, borrar y modificar tablas
consultar, insertar, modificar y eliminar datos
definir usuarios y asignar permisos
realizar copias de seguridad
etc
Est escrita en php y se ejecuta desde el navegador
Si est instalada en la carpeta phpmyadmin, se ejecuta
escribiendo en la barra de direcciones del navegador la url
http://localhost/phpmyadmin/
Puede administrar bases de datos locales y remotas
phpMyAdmin
phpMyAdmin
noticias
id
ttulo
texto
categora
fecha
Lenguaje SQL
Sintaxis:
SELECT SELECT expresin FROM tabla
[WHERE condicin]
[ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC] ,...]
[LIMIT [offset,] row_count | row_count OFFSET offset]
Ejemplo:
SELECT * from noticias WHERE fecha=CURDATE() LIMIT 10 ORDER BY fecha DESC
Obtiene las noticias del da con un tope mximo de 10, ordenadas de la ms
reciente a la ms antigua
Lenguaje SQL
Sintaxis:
INSERT INSERT [INTO] nombre_tabla [(nombre_columna,...)]
VALUES ((expresin | DEFAULT),...), (...),...
INSERT [INTO] nombre_tabla
SET nombre_columna=(expresin | DEFAULT), ...
Ejemplo:
INSERT INTO noticias (id, titulo, texto, categoria, fecha) VALUES (37, Nueva promocin en
Nervin, 145 viviendas de lujo en urbanizacin ajardinada situadas en un entorno privilegiado,
promociones, CURDATE())
Inserta una noticia con los valores indicados
Lenguaje SQL
Sintaxis:
UPDATE UPDATE nombre_tabla
SET nombre_columna1=expr1 [, nombre_columna2=expr2 ...]
[WHERE condicin]
[ORDER BY ...]
[LIMIT row_count]
Ejemplo:
UPDATE noticias SET categoria = ofertas WHERE id=37
Modifica la categora de la noticia con id=37 de la tabla
Lenguaje SQL
Sintaxis:
DELETE DELETE FROM nombre_tabla
[WHERE condicin]
[ORDER BY ...]
[LIMIT row_count]
Ejemplo:
DELETE FROM noticias WHERE fecha < CURDATE()-10
Borra las noticias con ms de 10 das de antigedad
Funciones de PHP para el acceso
a bases de datos MySQL
Los pasos para acceder desde PHP a una base de datos son
los siguientes:
Conectar con el servidor de bases de datos
Seleccionar una base de datos
Enviar la instruccin SQL a la base de datos
Obtener y procesar los resultados
Cerrar la conexin con el servidor de bases de datos
Acceso a bases de datos MySQL
Sintaxis:
mysql_select_db (database);
Ejemplo:
mysql_select_db (lindavista)
or die (No se puede seleccionar la base de datos);
Acceso a bases de datos MySQL
Ejemplo:
noticias
1 Ttulo 1 Texto 1 ofertas 05/02/2004
Instruccin:
select * from noticias where categoria=promociones
Acceso a bases de datos MySQL
noticias
Ejemplo:
1 Ttulo 1 Texto 1 ofertas 05/02/2004
Instruccin:
select * from noticias where categoria=promociones
Acceso a bases de datos MySQL
Ejemplo:
mysql_close ($conexion);
Ejemplo
mysql_close ($conexion);
Ejercicios
Ejercicio 2: encuesta
Ilustra cmo actualizar una tabla y cmo generar grficos simples
Pasos previos:
1. Crear la tabla votos en la base de datos lindavista
2. Dar al usuario cursophp permisos SELECT y UPDATE sobre la tabla
votos de la base de datos lindavista
Ejercicios
Objetivo:
mostrar los resultados de la consulta divididos en bloques de un
nmero determinado de elementos (por ejemplo, de 5 en 5)
Requisitos:
Recuperar un nmero limitado de elementos de la tabla
Implementar un mecanismo de navegacin que permita avanzar al
siguiente o volver al anterior bloque de elementos
Consulta avanzada de tablas
Objetivo:
Mostrar los resultados de una consulta de manera que se puedan filtrar
en funcin del valor de una determinada columna de la tabla
Requisitos:
Recuperar de una tabla los elementos que cumplan una determinada
condicin
Permitir seleccionar un valor de entre los valores posibles de una
columna
Consulta avanzada de tablas
Para recuperar los elementos de una tabla que cumplen una
condicin se utiliza la opcin WHERE de la orden SELECT. Por
ejemplo,
Objetivo:
Modificar el ejercicio anterior para que los resultados se actualicen de
forma automtica al seleccionar un nuevo valor para la columna
Requisitos:
Obtener automticamente los valores de una columna de tipo enumerado
a partir de la tabla
Utilizar cdigo JavaScript para detectar un cambio en la opcin
seleccionada de un elemento de tipo SELECT
Consulta avanzada de tablas
Funcin JavaScript que actualiza una pgina en funcin de la
opcin seleccionada en el elemento SELECT de nombre
categoria del formulario de nombre selecciona:
<SCRIPT LANGUAGE='JavaScript'>
<!--
function actualizaPagina ()
i = document.forms.selecciona.categoria.selectedIndex;
categoria =
document.forms.selecciona.categoria.options[i].value;
window.location = muestra_noticias.php?categoria=' +
categoria;
}
Consulta avanzada de tablas
<SELECT NAME=categoria">
<OPTION VALUE=promociones">promociones
<OPTION VALUE=costas">costas
</SELECT>
que devuelve una tabla con las propiedades del campo categoria. El
elemento [1] de esta tabla contiene lo siguiente:
enum(promociones",ofertas",costas")
Tema 5: Sesiones
1. Introduccin
2. Manejo de sesiones
3. Autenticacin de usuarios
Introduccin
login
no
enviado formulario
s
no
datos correctos
iniciar sesin
no error
mostrar formulario sesin iniciada mostrar error
s
men
1. Introduccin
2. Imgenes dinmicas en PHP
3. Funciones de biblioteca para la creacin de imgenes
4. Ejercicios
Introduccin
extension = php_gd2.dll
extension = gd.so
Imgenes dinmicas en PHP
imagen.php
<?PHP
Procedimiento general:
header (Content-type: image/png);
// instrucciones grficas
imagepng ($imagen);
imagedestroy ($imagen);
?>
llamada
<IMG SRC=imagen.php>
Imgenes dinmicas en PHP
(0,0) x
(ancho,alto)
Funciones de biblioteca
Colores
$color = imagecolorallocate ($imagen, R, G, B)
Formas geomtricas
imagerectangle ($imagen, x0, y0, x1, y1, $color)
imagefilledrectangle
imagearc ($imagen, xc, yc, ancho, alto, gi, gf, $color)
imagefilledarc
(xc, yc)
(x0, y0)
gi
(x1, y1)
gf
Funciones de biblioteca
Fondos
$imagen = imagecreatefrompng (imagen.png)
$imagen = imagecreatefromjpeg (imagen.jpg)
Textos
imagestring ($imagen, tamao, x, y, $texto, $color)
Guardar imgenes
imagepng ($imagen, imagen.png);
imagejpeg ($imagen, imagen.jpg);
Ejercicios
Ejercicio 2: encuesta
Ilustra cmo utilizar un grfico de tarta para mostrar los resultados de una
encuesta