Vous êtes sur la page 1sur 9

Manual de PHP

por: Mehdi Achour Friedhelm Betz Antony Dovgal Nuno Lopes Hannes Magnusson Georg Richter Damien Seguy Jakub Vrana Y muchos otros 2012-11-23 Editado por: Philip Olson por: Quieres ayudarnos a traducir? Ponte en contacto con: yago[arroba]php.net Traduciendo desde Dic-2009. Estado: 90% completo y al da. Lista de encargados del mantenimiento y traduccin por nmero de ficheros: 1. Pedro Antonio Gil Rodrguez 2. Yago Ferrer 3. Jess Ruiz-Aycar Vzquez 4. Andrs Garca 5. Jess Rafael Cova Huerta 6. Alexander Garzn y muchos ms... 1997-2012 the PHP Documentation Group

Copyright Manual de PHP o Prefacio Conceptos bsicos o Introduccin o Un tutorial sencillo Instalacin y configuracin o Consideraciones generales de instalacin o Instalacin sobre sistemas Unix o Instalacin en Mac OS X o Instalacin en sistemas Windows o Instalacin en las plataformas de Nube Informtica o Manejador de Procesos FastCGI (FPM) o Instalacin de extensiones PECL o Problemas? o Configuracin en tiempo de ejecucin Referencia del lenguaje o Sintaxis bsica o Tipos o Variables o Constantes o Expresiones

Operadores Estructuras de Control Funciones Clases y Objetos Espacios de Nombres Excepciones Generators Referencias Explicadas Variables predefinidas Excepciones predefinidas Interfaces predefinidas Opciones de contexto y parmetros Protocolos y Envolturas soportados Seguridad o Introduccin o Consideraciones generales o Installed as CGI binary o Instalado como mdulo de Apache o Seguridad del Sistema de Archivos o Seguridad de Bases de Datos o Reportando errores o Usando Register Globals o Datos Enviados por el Usuario o Comillas Mgicas o Ocultando PHP o Mantenerse al da Caractersticas o Autenticacin HTTP con PHP o Cookies o Sesiones o Manejo de XForms o Manejando la carga de archivos o Usando archivos remotos o Manejo de Conexiones o Conexiones Persistentes a Bases de Datos o Safe Mode o Funcionamiento en la lnea de comandos Usando PHP desde la lnea de comandos o Recoleccin de Basura Referencia de funciones o Afecta el comportamiento de PHP o Manipulacin de formatos de audio o Servicios de autenticacin o Extensiones relacionadas con fecha y hora o Extensiones especficas de la lnea de comandos o Extensiones de compresin y archivos o Procesamiento de tarjetas de crdito o Extensiones criptogrficas o Extensiones de bases de datos o Extensiones relacionadas con el sistema de ficheros

o o o o o o o o o o o o o

Soporte para lenguaje humano y codificacin de caracteres Procesamiento y generacin de imgenes Extensiones relacionadas con Email Extensiones matemticas Salida MIME que no es texto Extensiones de control de procesos Otras extensiones bsicas Otros servicios Extensiones para motores de bsqueda Extensiones especficas para Servidores Extensiones de sesiones Procesamiento de texto Extensiones relacionadas con variable y tipo Servicios web Extensiones especficas de Windows Manipulacin XML El ncleo de PHP: Gua del Hacker para el motor de Zend o Preface o The "counter" Extension - A Continuing Example o The PHP 5 build system o Extension structure o Memory management o Working with variables o Writing functions o Working with classes and objects o Working with resources o Working with INI settings o Trabajar con flujos o PDO Driver How-To o Extension FAQs o Zend Engine 2 API reference o Zend Engine 2 Opcodes o Zend Engine 1 FAQ FAQ: Preguntas frequentes o Informacin general o Listas de correos o Consiguiendo PHP o Problemas con bases de datos o Instalacin o Problemas de Compilacin o Usando PHP o Hash de Contraseas Hash de contraseas seguro o PHP y HTML o PHP y COM o PHP y otros lenguajes o Migracin de PHP 4 a PHP 5 o Preguntas Varias Apndices o Historia de PHP y Proyectos Relacionados o Migrating from PHP 5.4.x to PHP 5.5.x

o o o o o o o o o o o o o o o o

o o o o o o o o o o o o o o o o o o o o o o

Migrando de PHP 5.3.x hacia PHP 5.4.x Migrando de PHP 5.2.x a PHP 5.3.x Migracin de PHP 5.1.x a PHP 5.2.x Migracin de PHP 5.0.x a PHP 5.1.x Migracin desde PHP 4 a PHP 5.0.x Clases y Objetos (PHP 4) Depuracin en PHP Opciones de configuracin Directivas de php.ini Categorizacin de Extensiones Listado de funciones alias Lista de palabras reservadas Lista de Tipos de Recurso Lista de Filtros Disponibles Lista de Transportes de Sockets Soportados Tablas de comparacin de tipos PHP Lista de componentes lxicos del analizador Guia de Entorno de Usuario para Nombres Acerca del manual Creative Commons Attribution 3.0 Listado de ndices Registro de cambios

Copyright

Copyright 1997 - 2012 por el PHP Documentation Group. Este material puede ser distribuido solamente sujeto a los trminos y condiciones establecidos por la licencia de Creative Commons Attribution 3.0 o superior. Una copia de la Licencia de Commons Attribution 3.0 est distribuida con este manual. La versin ms reciente est disponible en http://creativecommons.org/licenses/by/3.0/. Si est interesado en su redistribucin o republicacin de este documento completa o parcialmente, con o sin modificaciones, y si tiene alguna pregunta, por favor contacte con los propietarios del Copyright en doc-license@lists.php.net. Observe que esta direccin est ligada a una lista de correo pblica.

Manual de PHP Prefacio


PHP, acrnimo de "PHP: Hypertext Preprocessor", es un lenguaje "Open Source" interpretado de alto nivel, especialmente pensado para desarrollos web y el cual puede ser incrustado en pginas HTML. La mayora de su sintaxis es similar a C, Java y Perl y es fcil de aprender. La meta de este lenguaje es permitir escribir a los creadores de pginas web, pginas dinmicas de una manera rpida y fcil, aunque se pueda hacer mucho ms con PHP.

Este manual contiene principalmente una referencia de funciones PHP, tambin contiene una referencia del lenguaje, explicaciones de algunas de las caractersticas importantes de PHP otra informacin suplementaria. Este manual se puede conseguir en diferentes formatos en http://www.php.net/download-docs.php. Ms informacin sobre como este manual es desarrollado puede encontrarse en el apndice 'Sobre este manual'. Si est interesado en la Historia de PHP, visite el captulo correspondiente.

Autores y Contribuyentes
Nosotros destacamos a las personas actualmente ms activas al frente del manual, pero hay muchos ms contribuyentes que nos ayudan en nuestro trabajo o han brindado una gran cantidad de ayuda al proyecto en el pasado. Hay muchsima gente annima que ayud con notas de usuarios en las pginas del manual, que continuamente son incluidos en las referencias, labor de la que tambin estamos muy agradecidos. Todas las listas a continuacin estn en orden alfabtico.

Autores y Editores
Los siguientes contribuyentes deberan ser reconocidos por el impacto de lo que han hecho y/o continan haciendo aadiendo contenido al manual: Bill Abt, Jouni Ahto, Alexander Aulbach, Daniel Beckham, Stig Bakken, Nilgn Belma Bugner, Jesus M. Castagnetto, Ron Chmara, Sean Coates, John Coggeshall, Simone Cortesi, Peter Cowburn, Daniel Egeberg, Markus Fischer, Wez Furlong, Sara Golemon, Rui Hirokawa, Brad House, Pierre-Alain Joye, Etienne Kneuss, Moriyoshi Koizumi, Rasmus Lerdorf, Andrew Lindeman, Stanislav Malyshev, Justin Martin, Rafael Martinez, Rick McGuire, Moacir de Oliveira Miranda Jnior, Kalle Sommer Nielsen, Yasuo Ohgaki, Richard Quadling, Derick Rethans, Rob Richards, Sander Roobol, Egon Schmid, Thomas Schoefbeck, Sascha Schumann, Dan Scott, Masahiro Takagi, Yannick Torres, Michael Wallner, Lars Torben Wilson, Jim Winstead, Jeroen van Wolffelaar y Andrei Zmievski. Los siguientes contribuyentes han hecho un importante trabajo editando el manual: Stig Bakken, Gabor Hojtsy, Hartmut Holzgraefe y Egon Schmid.

Mantenedores de las Notas de Usuarios


Los mantenedores actualmente ms activos son: Daniel Brown, Nuno Lopes, Felipe Pena, Thiago Pojda y Maciek Sokolewicz. Estas personas tambin pusieron mucho esfuerzo en la administracin de las notas de usuarios: Mehdi Achour, Daniel Beckham, Friedhelm Betz, Victor Boivie, Jesus M. Castagnetto, Nicolas Chaillan, Ron Chmara, Sean Coates, James Cox, Vincent Gevers, Sara Golemon, Zak Greant, Szabolcs Heilig, Oliver Hinckel, Hartmut Holzgraefe, Etienne Kneuss, Rasmus Lerdorf, Matthew Li, Andrew Lindeman, Aidan Lister, Hannes Magnusson, Maxim Maletsky, Bobby Matthis, James Moore, Philip Olson,

Sebastian Picklum, Derick Rethans, Sander Roobol, Damien Seguy, Jason Sheets, Tom Sommer, Jani Taskinen, Yasuo Ohgaki, Jakub Vrana, Lars Torben Wilson, Jim Winstead, Jared Wyles y Jeroen van Wolffelaar.

Conceptos bsicos

Introduccin o Qu es PHP? o Qu se puede hacer con PHP? Un tutorial sencillo o Qu necesito? o Su primera pgina con PHP o Algo til o Uso de Formularios o Usando cdigo antiguo en nuevas versiones de PHP o Y ahora qu?

Introduccin
Tabla de contenidos

Qu es PHP? Qu se puede hacer con PHP?

Qu es PHP?
PHP (acrnimo de PHP: Hypertext Preprocessor) es un lenguaje de cdigo abierto muy popular especialmente adecuado para desarrollo web y que puede ser incrustado en HTML. Una respuesta corta y concisa, pero, qu significa realmente? Un ejemplo nos aclarar las cosas: Ejemplo #1 Un ejemplo introductorio
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Example</title> </head> <body> <?php echo "Hola, soy un script PHP!"; ?> </body> </html>

En lugar de usar muchos comandos para mostar HTML (como en C o Perl), pginas PHP contienen HTML con cdigo incluido en el mismo que hace "algo" (en este caso, mostrar "Hola soy un script PHP!). El cdigo PHP est entre medio de etiquetas de comienzo y final especiales<?php y ?> que nos permitirn entrar y salir del "modo PHP".

Lo que distingue a PHP de algo lado-cliente como Javascript, es que el cdigo es ejecutado en el servidor, generando HTML y envindolo al cliente. El cliente recibir los resultados de ejecutar el script, sin ninguna posibilidad de determinar qu cdigo ha producido el resultado recibido. El servidor web puede ser incluso configurado para que procese todos los archivos HTML con PHP y entonces no hay manera que los usuarios puedan saber que tienes debajo de la manga. Lo mejor de usar PHP es que es extremadamente simple para el principiante, pero a su vez, ofrece muchas caractersticas avanzadas para los programadores profesionales. No sienta miedo de leer la larga lista de caractersticas de PHP, en poco tiempo podr empezar a escribir sus primeros scripts. Aunque el desarrollo de PHP est centrado en programacin de scripts en ladoservidor, se puede utilizar para muchas otras cosas. Siga leyendo y descubra ms sobre PHP en la seccin Qu se puede hacer con PHP? o vaya directo al tutorial de introduccin si solamente est interesado en programacin web.

Qu se puede hacer con PHP?


PHP puede hacer cualquier cosa que se pueda hacer con un script CGI, como procesar la informacin de formularios, generar pginas con contenidos dinmicos, o enviar y recibir cookies. Y esto no es todo, se puede hacer mucho ms. Existen principalmente tres campos en los que se usan scripts en PHP.

Scripts del lado-servidor. Este es el campo ms tradicional y el principal foco de trabajo. Se necesitan tres cosas para que esto funcione. El intrprete PHP (CGI mdulo), un servidor web y un navegador. Es necesario hacer funcionar el servidor, con PHP instalado. El resultado del programa PHP se puede obtener a travs del navegador, conectndose con el servidor web. Consultar la seccin Instrucciones de instalacin para ms informacin. Scripts en la lnea de comandos. Puede crear un script PHP y correrlo sin necesidad de un servidor web o navegador. Solamente necesita el intrprete PHP para usarlo de esta manera. Este tipo de uso es ideal para scripts ejecutados regularmente desde cron (en *nix o Linux) o el Planificador de tareas (en Windows). Estos scripts tambin pueden ser usados para tareas simples de procesamiento de texto. Consultar la seccin Usos de PHP en la lnea de comandos para ms informacin. Escribir aplicaciones de interfaz grfica. Probablemente PHP no sea el lenguaje ms apropiado para escribir aplicaciones grficas, pero si conoce bien PHP, y quisiera utilizar algunas caractersticas avanzadas en programas clientes, puede utilizar PHP-GTK para escribir dichos programas. Tambin es posible escribir aplicaciones independientes de una plataforma. PHP-GTK es una extensin de PHP, no disponible en la distribucin principal. Si est interesado en PHP-GTK, puedes visitar las pginas web del proyecto.

PHP puede ser utilizado en cualquiera de los principales sistemas operativos del mercado, incluyendo Linux, muchas variantes Unix (incluyendo HP-UX, Solaris y OpenBSD), Microsoft Windows, Mac OS X, RISC OS y probablemente alguno ms. PHP soporta la mayora de servidores web de hoy en da, incluyendo Apache, IIS, y

muchos otros. Esto incluye cualquier servidor web que pueda utilizar el binario PHP de FastCGI, como lighttpd y nginx. PHP funciona ya sea como un mdulo, o como un procesador de CGI. De modo que, con PHP tiene la libertad de elegir el sistema operativo y el servidor web de su gusto. Adems, tiene la posibilidad de utilizar programacin por procedimientos, programacin orientada a objetos (POO), o una mezcla de ambas. Con PHP no se encuentra limitado a resultados en HTML. Entre las habilidades de PHP se incluyen: creacin de imgenes, archivos PDF e incluso pelculas Flash (usando libswf y Ming) sobre la marcha. Tambin puede presentar otros resultados, como XHTML y cualquier otro tipo de ficheros XML. PHP puede autogenerar stos archivos y almacenarlos en el sistema de archivos en vez de presentarlos en la pantalla, creando un cach en el lado-servidor para contenido dinmico. Una de las caractersticas ms potentes y destacables de PHP es su soporte para una gran cantidad de bases de datos. Escribir una pgina web con acceso habilitado a una base de datos es increiblemente simple utilizando una de las extensiones especficas (por ejemplo, para mysql), o utilizar una capa de abstraccin como PDO, o conectarse a cualquier base de datos que soporte el estndar de Conexin Abierta a Bases de Datos por medio de la extensin ODBC. Otras bases de datos podran utilizar cURL o sockets, como lo hace CouchDB. PHP tambin cuenta con soporte para comunicarse con otros servicios usando protocolos tales como LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (en Windows) y muchos otros. Tambin se pueden crear sockets puros e interactuar usando cualquier otro protocolo. PHP soporta WDDX para el intercambio de datos entre lenguajes de programacin en web. Y hablando de interconexin, PHP puede utilizar objetos Java de forma transparente como objetos de PHP. PHP tiene tiles caractersticas de procesamiento de texto, las cuales incluyen las Expresiones Regulares Compatibles de Perl (PCRE), muchas extensiones, y herramientas para el acceso y anlisis de documentos XML. PHP estandardiza todas las extensiones XML sobre el fundamento slido de libxml2, y extiende este conjunto de caractersticas aadiendo soporte para SimpleXML, XMLReader y XMLWriter. Existen otras extensiones interesantes, las cuales estn categorizadas alfabticamente y por categora. Hay extensiones adicionales PECL que podran estar documentadas o no dentro del manual de PHP, tal como XDebug. Como puede apreciar, esta pgina no es suficiente para enumerar todas las caractersticas y beneficios que PHP ofrece. Consulte las secciones Instalacin de PHP y Referencia de las funciones para una explicacin de las extensiones mencionadas aqu.

Un tutorial sencillo
Tabla de contenidos

Qu necesito? Su primera pgina con PHP Algo til Uso de Formularios Usando cdigo antiguo en nuevas versiones de PHP Y ahora qu?

A continuacin, nos gustara mostrate las bases de PHP en un corto y sencillo tutorial. Este documento explica cmo crear pginas web dinmicas con PHP, aunque PHP no solamente es capaz de crear pginas web. Consulte la seccin titulada Qu se puede hacer con PHP? para ms informacin. Las pginas web que usan PHP se tratan igual que pginas HTML comunes y corrientes, y se pueden crear o editar de la misma manera que normalmente crea pginas HTML.