PHP: Hypertext Preprocessor



Documentos relacionados
PÁGINAS DINÁMICAS WEB CON PHP. Unidad 1 FUNDAMENTOS DE PHP

Curso de PHP con MySQL Gratis

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

Que es PHP? Que se puede hacer con PHP? Sintaxis del lenguaje. Variables. Operadores básicos. Condicionales. Ciclos.

Curso de Programación PHP

Productos para desarrollar aplicaciones web: ASP, CFM, JSP y PHP

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor.

XPERTO EN DISEÑO DE PÁGINAS WEB

aplicaciones web: ASP, CFM, JSP y PHP

INTRODUCCIÓN A PHP. Javier Enciso

Manual de NetBeans y XAMPP

PROGRAMACIÓN PÁGINAS WEB CON PHP

Popularidad comparada de PHP vs ASP, y posibles causas

Introducción a PHP. * No es necesario declarar previamente las variables.

Programación páginas web. Servidor (PHP)

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA Programación de sitios web Act 4: Lección Evaluativa 1

Presentación del Curso Virtual PROGRAMACIÓN WEB PHP CON MYSQL BÁSICO

2.3. Lenguajes de programación del lado Servidor. ASP.NET (Active Server Pages).

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

DISEÑO E IMPLEMENTACIÓN DE UNA BASE DE DATOS PARA LA ONG ASEM

Laboratorio de Sistemas Departamento de Ingeniería en Sistemas de Información Universidad Tecnológica Nacional Facultad Regional Córdoba. Porque PHP?

DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA

Curso PHP Módulo 1 R-Luis

Cursos PHP construcción de sitios web dinámicos


PROGRAMACIÓN PÁGINAS WEB JAVASCRIPT Y PHP

Visión General de GXportal. Última actualización: 2009

Unidad V: Programación del lado del servidor

Cómo instalar fácilmente tu WordPress tras contratar un hosting en Hostalia

Internet Information Server

TEMA 1.- Conceptos Generales y Entorno de Trabajo Objetivo

SLIDEFINDER: Una herramienta universal y gratuita para clasificar, buscar y compartir imágenes e información en la Web

A continuación se presenta la forma en que se puede conectar PHP con el gestor de bases de datos MySQL.

Manual Básico de Helm 4.2 para Usuarios:

Manual Sistema de Afiliados Lomas Travel

Presentación del Curso Virtual PROGRAMACIÓN WEB PHP CON MYSQL AVANZADO

IDENTIFICACIÓN DE LA ACTIVIDAD PEDAGÓGICA

Qué es PHP? Example #1 Un ejemplo introductorio "<?,?>".

Algunos Administradores de Contenido se presentan a continuación:

BUENOS DIAS! Ing. Germán Ziegler

Gestor de Contenidos CMS. Prof: Ing. Henrry Servitá

Objetivos y Temario CURSO DESARROLLO WEB CON APACHE, PHP Y MySQL

Manual hosting acens

ACCESO Y MANEJO DEL PANEL DE CONTROL

PROGRAMACIÓN EN PHP. 1. Identificar las características y modalidad de programación bajo PHP.

#SoftwareLibre14. Páginas Web con Software Libre. WordPress

MAESTRO DE PHP PHP NIVEL 1

Descripción. Este Software cumple los siguientes hitos:

Capítulo 9. Archivos de sintaxis

Guía de uso del Cloud Datacenter de acens

DOCUMENTOS COMPARTIDOS CON GOOGLE DOCS

CURSO DE ESPECIALISTA EN DESARROLLO DE APLICACIONES WEB

CONSEJOS DE CÓMO CREAR UN DOCUMENTO ADOBE PDF ACCESIBLE A PARTIR DE UN DOCUMENTO MICROSOFT WORD ACCESIBLE

PHP 5.6 Desarrollar un sitio web dinámico e interactivo

Capítulo 4 Pruebas e implementación de la aplicación CAPÍTULO 4 PRUEBAS E IMPLEMENTACIÓN DE LA APLICACIÓN

Proyectos profesionales con PHP 5 Francisco Charte Ojeda

UNIVERSIDAD DE MEDELLÍN NUEVO PORTAL WEB MANUAL DE USUARIO GESTOR DE CONTENIDOS

El módulo de texto plano es un sencillo editor. Al seleccionarlo en la caja de módulos, el área central adoptará al siguiente aspecto:

Notas para la instalación de un lector de tarjetas inteligentes.

INTRODUCCIÓN A LA PROGRAMACIÓN WEB UNIDAD. Estructura de contenidos: cisvirtual@ucv.edu.pe. 1.

MANUAL INICIAL PARA LA GESTIÓN DE GALERÍAS DE IMÁGENES

Archivo de correo con Microsoft Outlook contra Exchange Server

Microsoft Dynamics. Migración de FRx 6.7 a Management Reporter for Microsoft Dynamics ERP

Instalación y configuración de SharePoint (SPS) 2003

D.T.Informática S.L. [Sistema hada] hilo Administrador Desarrollo Activo

Qué necesito saber para tener mi sitio web en Internet?

Operación Microsoft Access 97

Infraestructura Tecnológica. Sesión 8: Configurar y administrar almacenamiento virtual

Soluciones Informáticas para la Gestión de la Calidad c/vicente Aleixandre nº 10 4º H, A CORUÑA Telf: / info@spuch.

Guía N 1: Fundamentos básicos(i)

MANUAL DE LA APLICACIÓN HELP DESK

La publicación. Pere Barnola Augé P08/93133/01510

PRÁCTICA 10. Configuración de Correo y Publicar en la Web

CASO PRÁCTICO. CASOS PRÁCTICOS Internet (CP15 y CP16)

Tutorial: Primeros Pasos con Subversion

MANUAL DE USUARIO. Webservice simple para la exportación rápida de información proveniente de una base de datos. Versión 0,1,1

COMO CREAR UNA PÁGINA WEB 2-INTRODUCCIÓN A DREAWEAVER

ENTORNO DE DESARROLLO MICROSOFT.NET 2010

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

ing Solution La forma más efectiva de llegar a sus clientes.

CÓMO MANEJAR SU NUEVO SITIO WEB SOBRE DRUPAL Manual técnico y de usuario. Pontificia Universidad Javeriana Grupo PSU CDI

PROGRAMA FORMATIVO MICROSOFT ACCESS 2007 (COMPLETO)

LA INTRANET -Manual general-

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

INSTALACION DE UN SERVIDOR LOCAL CON EasyPHP

AGREGAR COMPONENTES ADICIONALES DE WINDOWS

FACULTAD DE INFORMATICA MATERIA: GESTION DE CONTENIDO ELECTRONICO PROFESOR: JONATHAN VEGA ALUMNOS: LUISA ROSERO JAIME CAMACHO DATOS INFORMATIVOS:

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora

Consultas a una BD de MySQL desde una página WEB

electrónicas en la difusión de contenidos microbiológicos Joseba Bikandi

CÓMO CREAR UNA PÁGINA WEB

PUBLICAR EN LA RED. Ponente: Javier Paricio Rodríguez

NOTA:Necesario verificar el nombre de nuestro Servidor-Equipo en donde está nuestro sistema gestor de base de datos.

ELABORACIÓN DE PÁGINAS WEB. CBTIS No. 02 ISC. RICARDO GARCÍA LÓPEZ

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto

CMS JOOMLA. Características

Cómo tener tu Tumblr con un domino propio

APOLO GESTION INTEGRAL.

Transcripción:

PHP: Hypertext Preprocessor Rodrigo Gómez Rodríguez Jose Manuel Moreno García Roberto González Sánchez María Pilar Igualada Villodre Departamento de Ingeniería Telemática Universidad Carlos III de Madrid Contenido Introducción Descripción y funcionamiento Sintaxis básica Ventajas y desventajas Casos de uso y desarrollo Uso PHP vs ASP Ejemplos Conclusiones y referencias 2

Motivación El 5º lenguaje de programación más popular Según http://www.tiobe.com/tpci.htm Detrás de Java, C, Visual Basic y C++ Usado por importantes compañías Yahoo, HP, Lufthansa, Lucent, El País, El Mundo, etc. Una de las tecnologías de código libre más utilizadas por la Administración Según el informe IRIA/REINA 2006 el 18% del desarrollo orientado a objetos es PHP http://www.csi.map.es/csi/iria2006/capitulo3/c3t32.htm 3 Contenido Introducción Descripción y funcionamiento Sintaxis básica Ventajas y desventajas Casos de uso y desarrollo Uso PHP vs ASP Ejemplos Conclusiones y referencias 4

Introducción Qué es? es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en páginas HTML y ejecutado en el servidor. La mayoría de su sintaxis es similar a C, Java y Perl y es fácil de aprender. La principal meta de este lenguaje es permitir a los creadores de páginas web, escribir páginas dinámicas de una manera rápida y fácil. Aunque se puede hacer mucho más con PHP 5 Introducción Breve Reseña Histórica Fue originalmente diseñado en Perl por el programador Rasmus Lerdorf en el año 1994. 1997: PHP3 - reescritura del parser 2000: PHP4 - lanzado bajo el poder del motor Zend Engine 1.0. 2004: PHP5 utilizando las ventajas del motor Zend Engine 2. La versión más reciente de PHP es la 5.2.5 Próximamente PHP6 6

Introducción PHP5 surge para mejorar PHP4 en los siguientes aspectos: Soporte sólido y REAL para Programación Orientada a Objetos (o OOP) con PHP Data Objects. Mejoras de rendimiento. Mejor soporte para MySQL con extensión completamente reescrita. Mejor soporte a XML ( XPath, DOM... ). Soporte nativo para SQLite. Soporte integrado para SOAP. Iteradores de datos. Excepciones de errores. 7 Contenido Introducción Descripción y funcionamiento Sintaxis básica Ventajas y desventajas Casos de uso y desarrollo Uso PHP vs ASP Ejemplos Conclusiones y referencias 8

Descripción Soporte para gran cantidad de bases de datos: MySQL Oracle SQL Server... Buena integración con bibliotecas externas: Desde generar un documento PDF hasta analizar código XML. Solución simple y universal para Webs dinámicas Mantenimiento y actualización más sencillo que con otros lenguajes. Código abierto. Extensa librería de desarrollo. Ejecución en el servidor: El resultado final enviado al navegador es HTML 9 Funcionamiento PHP se ejecuta en el servidor y el resultado es enviado al navegador web. El resultado normalmente es HTML. Acceso a los recursos del servidor. Ej. BBDD El navegador no necesita soportar PHP El servidor SÍ debe soportar PHP. Modo de operación: El Navegador realiza una petición al servidor (URL) Después el servidor ejecuta el código PHP solicitado y retorna el código HTML al navegador El navegador muestra la respuesta del servidor. 10

Contenido Introducción Descripción y funcionamiento Sintaxis básica Ventajas y desventajas Casos de uso y desarrollo Uso PHP vs ASP Ejemplos Conclusiones y referencias 11 Sintaxis Básica Los scripts se pueden incluir en el interior del código HTML/XHTML. Comienzo de script php Final de script A veces habilitada la opción corta: Comentarios: // y /* */ Comentarios: // y /* */ Cuando se solicita una página PHP se interpreta el código y se genera la respuesta para enviar al cliente 12

Algunos apuntes sobre programación en PHP Las variables comienzan con el signo $. Tienen tipado débil: no es necesario indicar el tipo de datos de la variable Se convierte automáticamente al tipo correcto en base al valor que se le asigna. Los arrays se comportan en la práctica como Maps: asocian valores a claves. El valor de las constantes no cambia durante la ejecución a excepción de las Magic constants:su valor cambia con el sitio en el que se invocan: _LINE_,_FILE_,_FUNCTION_,_CLASS_,_METHOD_ Los operadores de comparación ===,!== comparan valor y tipo La concatenación de cadenas se hace por medio de. 13 HolaMundo PHP El ejemplo siguiente escribiría simplemente "Hello World" (sin comillas) en la página web. Es importante recordar que todo bloque de código php debe estár dentro de php (para abrir) y (para cerrar) o simplemente de una forma más corta <CÓDIGO_PHP>, muy parecido a las etiquetas en ASP <% <CÓDIGO_ASP> %>. 14

Contenido Introducción Descripción y funcionamiento Sintaxis básica Ventajas y desventajas Casos de uso y desarrollo Uso PHP vs ASP Ejemplos Conclusiones y referencias 15 Ventajas y puntos fuertes Muy sencillo de aprender Es un lenguaje multiplataforma. Similar en sintaxis a C y a PERL Se puede incrustar código PHP con etiquetas HTML. El análisis léxico para recoger las variables que se pasan en la dirección lo hace PHP de forma automática. Capacidad de expandir su potencial utilizando la enorme cantidad de módulos. PHP viene equipado con un conjunto de funciones de seguridad que previenen la inserción de ordenes dentro de una solicitud de datos. 16

Ventajas y puntos fuertes Todas las funciones del sistema están explicadas y ejemplificadas en un único archivo de ayuda. Al ser libre, tiene una gran comunidad de desarrolladores: Los fallos de funcionamiento se localizan y reparan fácilmente. Permite las técnicas de Programación Orientada a Objetos. Clases y herencia. Biblioteca nativa de funciones sumamente amplia Reduciendo los tiempos de desarrollo. No requiere definición de tipos de variables. Tiene manejo de excepciones. 17 Desventajas y limitaciones No posee una abstracción de base de datos estándar, sino bibliotecas especializadas para cada motor. No posee adecuado manejo de internacionalización, unicode, etc. Existen muchas versiones de PHP con incompatibilidades entre sí. Cada cual programa a su manera y hace que sea muy difícil mantener el código de terceras personas. Todo el trabajo lo realiza el servidor y no delega al cliente. Por tanto puede ser más ineficiente a medida que las solicitudes aumenten de número. La legibilidad del código puede verse afectada al mezclar sentencias HTML y php. La orientación a objetos es aún muy deficiente para aplicaciones grandes 18

Contenido Introducción Descripción y funcionamiento Sintaxis básica Ventajas y desventajas Casos de uso y desarrollo Uso PHP vs ASP Ejemplos Conclusiones y referencias 19 Casos de Uso Los principales usos del PHP son los siguientes: Programación de páginas web dinámicas, habitualmente en combinación con el motor de base datos MySQL, aunque cuenta con soporte nativo para otros motores, incluyendo el estándar ODBC, lo que amplía en gran medida sus posibilidades de conexión. Programación en consola, al estilo de Perl o Shell Script. Creación de aplicaciones gráficas independientes del navegador, por medio de la combinación de PHP y Qt/GTK+, lo que permite desarrollar aplicaciones de escritorio en los sistemas operativos en los que está soportado. 20

Desarrollo Herramientas necesarias para programar en PHP: Servidor Web (Recomendado Apache) Módulo o interprete de PHP Servidor de base de datos (Recomendado MySQL) IDE (Integrated Development Environment): Multitud de ellos: PHPEclipse Quanta + BlueFish Zend Studio PHP Designer 21 Contenido Introducción Descripción y funcionamiento Sintaxis básica Ventajas y desventajas Casos de uso y desarrollo Uso PHP vs ASP Ejemplos Conclusiones y referencias 22

Uso Aplicaciones desarrolladas con PHP: Gallery Project Proyecto para la organización de album s de fotos. MediaWiki Motor para wikis. WordPress Sistema de gestión de contenidos enfocado a la creación de blogs. Smarty Motor de plantillas para PHP. Frameworks en PHP: Symfony CakePHP Kumbia 23 Uso Historias exitosas o fallidas: Migración de ASP a PHP bajo Linux de ClickForLessons.com: "Recientemente nosotros migramos la mayoría de nuestros sitios desde Windows con IIS a Linux, Apache, MySQL y PHP. El cambio ha hecho que ahora sean más fáciles de desarrollar y mantener, tengan mejor performance, una escalabilidad y seguridad mejores" "Los resultados iniciales muestran que el sitio funciona ahora un 60% más rápido. En general, fuimos capaces de obtener la misma funcionalidad con menos código. La velocidad es fantástica, pero igualmente importante, lo es el costo a medida que el sitio escala" http://www.stevencox.com/2007/08/net-to-linux-co.html 24

Contenido Introducción Descripción y funcionamiento Sintaxis básica Ventajas y desventajas Casos de uso y desarrollo Uso PHP vs ASP Ejemplos Conclusiones y referencias 25 PHP vs ASP Soporte: Código abierto. ASP tiene el respaldo de Microsoft. Plataformas aceptadas: PHP es multiplataforma. ASP solo funciona bajo SO de Microsoft. Desarrollo: PHP tiene multitud de programadores y documentación. ASP en menor medida. Seguridad: PHP funciona bajo Linux Más seguridad y estabilidad 26

PHP vs ASP Coste PHP es gratuito ASP necesita Windows Coste Popularidad: PHP es muy popular ASP es conocido por la popularidad de Microsoft 27 Vulnerabilidades comunes en PHP 1. Parámetros no validados: Antes de utilizar las variables globales, se deben validar para asegurarse de que no contienen ninguna entrada inesperada. 2. Control de acceso: En vez de programar tu propia aplicación para el control de acceso, utiliza los módulos de las librería PEAR que son bastante buenos (Paquetes de PEAR: Auth, Auth_HTTP) 3. Vulnerabilidades en el manejo de cuentas y sesiones: Se deben utilizar las funciones incorporadas en PHP para manejo de sesiones. Debe tenerse cuidado con la configuración del servidor y con cómo almacena la información de la sesión. Las sesiones deben almacenarse en una base de datos o en una parte del sistema de ficheros a la que sólo los administradores de la web puedan tener acceso. 4. Defectos en Cross-Site Scripting (XSS): Nunca debe mostrarse información que venga de fuera sin filtrarla primero. Las variables deben filtrarse antes incluyéndolas en campos ocultos de un formulario. 5. Problemas de la gestión de error :Los mensajes de error no deben contener ninguna información descriptiva del sistema. Esto puede dar una idea de cómo está organizado el sistema y qué software utiliza. 28

Contenido Introducción Descripción y funcionamiento Sintaxis básica Ventajas y desventajas Casos de uso y desarrollo Uso PHP vs ASP Ejemplos Conclusiones y referencias 29 Ejemplos: MySQL (conexión) // Conectamos con el servidor if (!isset($conexion)){ $conexion=mysql_connect ( host, login, passwd ); // Seleccionamos la BASE DE DATOS mysql_select_db( mi_base,$conexion); } isset($variable) comprueba si la conexión ya existe. mysql_connect( host, login, passwd ) conecta con el servidor mysql alojado en host. mysql_server_db( mi_base,conexión) coge como base de datos a manipular la que se llama mi_base en la conexión creada 30

Ejemplos: MySQL (meter datos) echo <form action="'.$php_self.'" method="post"> Nombre :<input type="text" name="nombre"><br> Dirección:<input type="text" name="direccion"><br> Teléfono :<input type="text" name="telefono"><br> E-mail :<input type="text" name="email"><br> <input type="submit" name="enviar" value="aceptar información"> </form> ; echo escribe en el Html. Las cadenas se concatenan con un punto. $PHP_SELF indica la dirección de la página 31 actual. Ejemplos: MySQL (meter datos) $sql = "INSERT INTO agenda (nombre, direccion, telefono, email) ". "VALUES ('$nombre', '$direccion', '$telefono', '$email')"; if (mysql_query($sql)) echo <p>datos insertados correctamente</p> ; else echo <p>error al insertar los datos</p> ; mysql_query( Sentencia ) ejecuta la sentencia sql y devuelve el resultado. Formulario y código para sql en el mismo archivo? -> Usamos isset para saber que mostrar. 32

Ejemplos: MySQL (meter datos) <html><head>...</head><body> extract($http_post_vars); if((isset($enviar) && $nombre!= ){ //Inserto en la base de datos... }else{ //Muestro formulario.... } </body></html> extract($http_post_vars) hace variables de los campos enviados en el formulario. 33 Ejemplos: MySQL (mostrar datos) $ssql="select * From agenda"; $resultid = mysql_db_query($base,$ssql); while( $damefila = mysql_fetch_array($resultid) ){ $nombre=$damefila[ nombre ];... $mail=$damefila[ email ]; echo <table> <tr> <td>. $nombre. </td>... ; } Mysql_fetch_array(resultado) convierte una tupla en un array. Cuando ya no queden tuplas en la consulta devuelve false. 34

Ejemplos: Sesiones session_start(); $_SESSION["autentificado"]= "SI"; Session_start() crea la sesión, en $_SESSION tenemos una array en el que meter valores de sesión. if ($_SESSION["autentificado"]!= "SI") { header("location: index.php"); } header( Location: dir ) redirige a esa web. session_destroy() elimina la sesión con todos los valores guardados. 35 Ejemplos: Subiendo imágenes Minitaura Imagen reducida Queremos a partir de una imagen subida crear una imagen con un tamaño máximo y una miniatura cuadrada para previsualizar. 36

Ejemplos: Subiendo imágenes <HTML> <HEAD></HEAD> </BODY> <FORM ENCTYPE="multipart/form-data" ACTION="SubirImagen.php" METHOD="post"> <INPUT type="file" name="archivo"><br> <INPUT type="submit" name="enviar" value="aceptar"> </FORM> </BODY> </HTML> El formulario debe llevar la etiqueta ENCTYPE= multipart/form-data ya que ahora no solo enviamos texto. 37 Ejemplos: Subiendo imágenes if (is_uploaded_file($_files['archivo']['tmp_name'])) { /* * Código para subir una imagen, redimensionarla * y crear una miniatura. */ }else{ echo Error al subir la imagen ; } is_uploaded_file(ruta) comprueba si el archivo que le pasamos acaba de ser subido. La variable $_FILES o la variable $HTTP_POST_FILES son la misma y en ella están los datos del archivo. 38

Ejemplos: Subiendo imágenes // Obtenemos la ruta temporal $RutaTemporal=$_FILES['Archivo']['tmp_name']."/".$_FILES[' Archivo']['name']; // Obtenemos la extensión del archivo buscando el // texto tras el último punto. $extensionfile = explode(".",$_files['archivo']['name']); $num = count($extensionfile)-1; $extensionfile = $extensionfile[$num]; Los archivos se suben a una ruta temporal del servidor y nosotros debemos moverlos al directorio donde queramos guardarlos. También se puede buscar el tipo de archivo con $_FILES['archivo']['type']. 39 Ejemplos: Subiendo imágenes // Obtento los datos de la imagen $filename = $_FILES['Archivo']['tmp_name']; $width = 640; $height = 400; $coef = $width / $height; $mini_width = 100; $mini_height = 100; list($width_orig, $height_orig) = getimagesize($filename); // Si es más ancha que larga en proporción a lo que queremos if ( $coef > ( $width_orig / $height_orig )){ $width = ( $width_orig / $height_orig ) * $height ; }else{ $heigth = ( $height_orig / $width_orig ) * $width; } 40

Ejemplos: Subiendo imágenes // Calculo el trozo de imagen que me voy a quedar para la miniatura cuadrada. $w_ini = 0; $w_fin = $width_orig; $h_ini = 0; $h_fin = $height_orig; // Si es más alta que ancha if ( $width_orig < $height_orig ){ $h_ini = ( $height_orig - $width_orig )/2; $h_fin = $width_orig; }else // Si es más ancha que alta if ( $width_orig > $height_orig ){ $w_ini = ( $width_orig - $height_orig )/2; $w_fin = $height_orig; } 41 Ejemplos: Subiendo imágenes // imagecreatetruecolor crea la imagen con el tamaño que le digamos. $image_p = imagecreatetruecolor( $width, $height ); $image_mini = imagecreatetruecolor( $mini_width, $mini_height ); // imagecreatefromjpeg crea una imagen a partir de un archivo. $image = imagecreatefromjpeg( $filename ); // imagecopyresampled copia un trozo de una imagen en otra redimensionandola. imagecopyresampled( $image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig ); imagecopyresampled( $image_mini, $image, 0, 0, $w_ini, $h_ini, $mini_width, $mini_height, $w_fin, $h_fin ); // imagejpeg crea un archivo a partir de una imagen con la calidad deseada. imagejpeg( $image_p, $dir, 85); imagejpeg( $image_mini, $mini_dir, 100); 42

Ejemplos: Subiendo imágenes Este ejemplo hace uso de las librerías GD2 para el manejo de imágenes. Mediante estas librerías se puede editar imágenes al vuelo, no solo cuando estás imágenes van del cliente al servidor. De este modo podemos, por ejemplo, añadir un texto personalizado a las imágenes que enviemos. Para subir un archivo tal cual está en el cliente solo tenemos que usar la linea: move_uploaded_file($http_post_files['archivo']['tmp_ name'], $HTTP_POST_FILES['archivo']['name']); 43 Contenido Introducción Descripción y funcionamiento Sintaxis básica Ventajas y desventajas Casos de uso y desarrollo Uso PHP vs ASP Ejemplos Conclusiones y referencias 44

Conclusiones Tecnología potente que permite crear páginas dinámicas de una manera fácil y rápida. Sintaxis similar a lenguajes de programación populares (C, Java y Perl) y fácil de aprender. Lenguaje de código abierto. Está previsto el lanzamiento en breve de la rama 6 de PHP, quedando sólo dos ramas activas en desarrollo (PHP5 y 6). Algunas de las diferencias que encontraremos frente a PHP 5 son: Soportará Unicode Limpieza de funcionalidades obsoletas como register_globals, safe_mode... PECL Mejoras en orientación a objetos Solucionando así algunas de las desventajas descritas 45 Referencias Proporcionar las referencias utilizadas para preparar esta presentación: http://es.wikipedia.org/wiki/php http://ascii.eii.us.es/docs/2002-03/php/php4.html http://www.alegsa.com.ar/notas/156.php http://www.linuxcentro.net/linux/staticpages/index.php?page =CaracteristicasPHP 46